VB.NETを使って、 30x30ピクセル程度の小さなピクセル数の画像を 880x880ピクセル程度まで大きくしたいと考えています。 以下のようなコードで30x30ピクセルのimgを 880x880程度のサイズのPictureBoxと同じサイズまで拡大してみました。 Dim img As Bitmap Dim PBox As PictureBox = PictureBox1 Dim canvas As New Bitmap(PBox.ClientSize.Width, PBox.ClientSize.Height, PixelFormat.Format32bppPArgb) Using g As Graphics = Graphics.FromImage(canvas) g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor ' g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear g.PixelOffsetMode = PixelOffsetMode.HighQuality g.DrawImage(img, 0, 0, PBox.ClientSize.Width, PBox.ClientSize.Height) img.Dispose() End Using PBox.Image = canvas すると、 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor の場合には、綺麗に拡大することができました。 https://dotup.org/uploda/dotup.org2778352.png しかし g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear の場合には、画像の4隅がぼやけてしまいます。 https://dotup.org/uploda/dotup.org2778353.png PictureBox全体に渡って綺麗に画像を拡大したいのですが どのようにすれば良いですか?
管理者用
- Child Tree -