Interpolation mode : InterpolationMode « 2D Graphics « VB.Net Tutorial






Interpolation mode
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

public class InterpolationModeDemo
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class

public class Form1
  Inherits System.Windows.Forms.Form

  Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        Dim bm As New Bitmap("yourfile.jpg")

        e.Graphics.DrawImage(bm, 10, 10)

        Dim x As Integer = 10
        Dim y As Integer = 120
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.Default, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.Low, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.High, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.Bilinear, x, y)
        x = 10
        y += 100

        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.Bicubic, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.NearestNeighbor, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.HighQualityBilinear, x, y)
        DrawSample(e.Graphics, bm, Drawing2D.InterpolationMode.HighQualityBicubic, x, y)
    End Sub

    Private Sub DrawSample(ByVal gr As Graphics, ByVal bm As Bitmap, ByVal interpolation_mode As Drawing2D.InterpolationMode, ByRef x As Integer, ByVal y As Integer)
        gr.DrawString(interpolation_mode.ToString, Me.Font, Brushes.Black, x, y)
        gr.InterpolationMode = interpolation_mode
        gr.DrawImage(bm, x, y + 20, 50, 50)

        gr.InterpolationMode = interpolation_mode
        Dim src_rect As New Rectangle(35, 35, 30, 30)
        Dim dest_rect As New Rectangle(x + 60, y + 20, 50, 50)
        gr.DrawImage(bm, dest_rect, src_rect, GraphicsUnit.Pixel)
        gr.DrawRectangle(Pens.Black, dest_rect)

        x += 120
    End Sub
  Public Sub New()
   
    MyBase.New()
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    Me.ClientSize = New System.Drawing.Size(292, 273)
    Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen

  End Sub

End Class








17.82.InterpolationMode
17.82.1.Interpolation modeInterpolation mode