2016-05-10 5 views
0

非常に単純なペイント/画像エディタを作成したいと思います。主に、ピクセル編集のために、それは関連していないようです。 私の努力を楽にするために、私は画像サイズを16x16に保つことに決めました。C#ピクチャボックス内の拡大画像が左上に切り取られます

フォームにデータを入力し、PixelBoxを追加してデフォルトの画像をスラップします。 もちろん、ピクセルを表示させ、補間をNearestNeighborに設定する必要があります。

次に、ピクセルボックスを320x320に伸ばします。そしてそこに状況が起こります。

画像はこのようにように表示されます。 Cropped image

誰かがこの上でいくつかの光を当てますか?これはちょうど私が作ったチェッカーボードパターンのある16x16画像ですが、なぜ左上のオフセットで表示されているのかわかりません。

また、コードはまだ追加されていません。私はこれがデフォルトの動作だと思いますか?

答えて

0

ページ上の例と同じエラーが発生した場合は、PixelBoxのバグである必要があります。

だけではなく、標準のPictureBoxを使用して、自分で画像を拡大縮小操作のこのタイプのカスタムコントロールを使用して:

public Bitmap ScaleBitmap(Bitmap src, Size NewSize) 
    { 
     Bitmap bmp = new Bitmap(NewSize.Width, NewSize.Height, src.PixelFormat); 
     Graphics g = Graphics.FromImage(src); 
     g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; 
     g.DrawImage(src, new Rectangle(Point.Empty, NewSize), new Rectangle(0, 0, src.Width, src.Height), GraphicsUnit.Pixel); 
     g.Dispose(); 
     return bmp; 
    } 
+0

こんにちはGusman。遅れてご返事申し訳ありません。助けてくれてありがとう。それは作品のようなものです。まだオフセットが発生します。私はあなたの答えに印をつけます。なぜなら、それは有効なポイントを作り、良い情報を持っているからですそれは、左上のピクセルの中央から始まるサイズ変更のようだ... –

関連する問題