Нарисуйте увеличенное пиксельное изображение в картинке - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть изображение PNG 120x120. Я хочу взять его часть (10x10) и увеличить его с коэффициентом x32 и показать picturebox в пикселах .

что я сделал:

bmp = New Bitmap(320, 320, PixelFormat.Format32bppArgb) 'create a bitmap x32
Dim g As Graphics = Graphics.FromImage(bmp)

'draw the part in that bitmap
g.DrawImage(My.Resources.MyImage, New Rectangle(0, 0, 320, 320), New Rectangle(50, 50, 10, 10), GraphicsUnit.Pixel)

PictureBox1.Image = bmp

g.Dispose()

Изображение не является пиксельным. Что я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 08 сентября 2018

Вы должны указать в графике:

g.InterpolationMode = InterpolationMode.NearestNeighbor

и измените прямоугольники на:

g.DrawImage(My.Resources.MyImage, New RectangleF(0, 0, 320, 320), New RectangleF(49.5, 49.5, 10, 10), GraphicsUnit.Pixel)

так что вы не потеряете половину пикселя.

...