画面にレンダリングしている詳細度の低い画像がいくつかあります。ビットマップをバッファとして使用しています。.net で (「最近隣」を使用して) ビットマップのサイズを変更する方法はありますか?
私は VB.net を使用しているので、すべての .net ソリューションが受け入れられます。
画面にレンダリングしている詳細度の低い画像がいくつかあります。ビットマップをバッファとして使用しています。.net で (「最近隣」を使用して) ビットマップのサイズを変更する方法はありますか?
私は VB.net を使用しているので、すべての .net ソリューションが受け入れられます。
最も近い近隣補間を使用して、「SmallImage」という名前のリソースとして追加されたスケーリングされた画像を描画する単純な Winforms の例:
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