Fre*_*nöw 0 vb.net resize bitmap nearest-neighbor
我有一些低细节图像,我正在渲染到屏幕上.我正在使用位图作为缓冲区.有没有办法在.net中重新调整位图的大小(使用"最近邻居")?
我正在使用VB.net,所以所有.net解决方案都可以接受.
一个简单的Winforms示例,它绘制了作为资源添加的缩放图像,名称为"SmallImage",带有最近邻居插值:
Public Class Form1
Public Sub New()
InitializeComponent()
Me.SetStyle(ControlStyles.ResizeRedraw, True)
Me.DoubleBuffered = True
Me.bmp = My.Resources.SmallImage
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor
e.Graphics.PixelOffsetMode = Drawing2D.PixelOffsetMode.Half
Dim h = Me.ClientSize.Width * bmp.Height / bmp.Width
e.Graphics.DrawImage(bmp, New Rectangle(0, 0, Me.ClientSize.Width, h))
End Sub
Private bmp As Bitmap
End Class
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
648 次 |
最近记录: |