Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "

    Public Sub New()
        MyBase.New()

        ' この呼び出しは Windows フォーム デザイナで必要です。
        InitializeComponent()

        ' InitializeComponent() 呼び出しの後に初期化を追加します。

    End Sub

    ' Form は dispose をオーバーライドしてコンポーネント一覧を消去します。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    ' Windows フォーム デザイナで必要です。
    Private components As System.ComponentModel.IContainer

    ' メモ : 以下のプロシージャは、Windows フォーム デザイナで必要です。
    ' Windows フォーム デザイナを使って変更してください。  
    ' コード エディタは使用しないでください。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 12)
        Me.ClientSize = New System.Drawing.Size(320, 478)
        Me.Name = "Form1"
        Me.Text = "Form1"

    End Sub

#End Region

    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        'グラフィクスオブジェクトの取得
        Dim g As Graphics
        g = e.Graphics

        '画像ファイルの読み込み
        'アプリケーションのパスの直下の画像ファイルを読み込む
        Dim myBitmap As New Bitmap(Application.StartupPath + "\test.bmp")

        'オリジナル画像の描画
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Default
        g.DrawImage(myBitmap, 0, 0)

        '補間描画（Bicubic）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Bicubic
        g.DrawImage(myBitmap, 0, 90, 150, 80)

        '補間描画（Bilinear）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Bilinear
        g.DrawImage(myBitmap, 160, 90, 150, 80)

        '補間描画（Default）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Default
        g.DrawImage(myBitmap, 0, 180, 150, 80)

        '補間描画（High）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.High
        g.DrawImage(myBitmap, 160, 180, 150, 80)

        '補間描画（HighQualityBicubic）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
        g.DrawImage(myBitmap, 0, 270, 150, 80)

        '補間描画（HighQualityBilinear）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBilinear
        g.DrawImage(myBitmap, 160, 270, 150, 80)

        '補間描画（Invalid）
        'g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Invalid
        'g.DrawImage(myBitmap, 0, 540, 80, 80)

        '補間描画（Low）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.Low
        g.DrawImage(myBitmap, 0, 360, 150, 80)

        '補間描画（NearestNeighbor）
        g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.NearestNeighbor
        g.DrawImage(myBitmap, 160, 360, 150, 80)

    End Sub
End Class
