2010-12-28 9 views
2

パネルの下に置かれた画像を拡大( -/+)することができます。私は画像のズーム版をそのパネル内に表示したいと思います。どのようにC#でこれを達成できますか?C#で画像をプログラムでズームイン/ズームアウトするにはどうすればよいですか?

簡単に言えば、C#でプログラムで画像をクリックすると、画像をズームイン/ズームアウトする方法はありますか?

答えて

2

これを行うには、GDI +描画関数(Graphicsクラスのメソッドとして.NET Frameworkに公開)を使用する必要があります。基本的には、ズームしたバージョンのベースイメージを表示パネルに再描画します。

Graphics.DrawImageのようなものを使用すると、ベース画像、ソース矩形(ズームインするベース画像の部分)、およびデスティネーション矩形(ズームした新しい画像のサイズ)を指定するだけで済みます。 。 http://www.vcskicks.com/image-zoom.php

はこれが唯一のちょうどC#でグラフィックスのためのあなたの欲求を満たしてくれるしている場合:

はあなたがチェックアウトする価値があなたの時間を見つけることが、ここで利用できるチュートリアルがあります(ソースコードのダウンロードリンクは、ページの下部にあります)グラフィック関連の機能をより包括的に紹介するには、this articleをチェックしてください。あなたがズームインまたはズームアウトしたい場合は

3

あなたはGDI +を使用する場合、あなたは確かにマトリックスを使用することによってこれを行うことができますが...以下の方法のようなもので

// Get hold of your graphics context... 
using(Graphics g = this.CreateGraphics()) 
{ 
    // When drawing we want to apply a scaling of 2,2 (making it bigger!) 
    Matrix m = new Matrix(); 
    m.Scale(2, 2, MatrixOrder.Append); 
    g.Transform = m; 

    // Draw the actual image using the assigned matrix transform 
    g.DrawImage(...);   
} 

をクラスを変換しています使用されるスケーリング値を変更するだけです。

1

免責事項:私は

Atalasoft

のために働く私たちの DotImage Photo SDK自由であり、これと他の多くの機能(など、ルーペ、オートズーム、パン)

を持っているのWinFormsコントロールを持っています