У меня есть изображение png 120x120. Я хочу взять его часть (10x10), увеличить ее в 32 раза и показать на 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()
Изображение не пикселизированное. Что я могу сделать, чтобы это исправить?
Вы должны указать в своей графике:
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)
так вы не потеряете полпикселя.