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(264, 182)
        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 myBitmap0 As New Bitmap(Application.StartupPath + "\test0.bmp")
        Dim myBitmap1 As New Bitmap(Application.StartupPath + "\test1.bmp")
        Dim myBitmap2 As New Bitmap(Application.StartupPath + "\test2.bmp")

        '背景の描画
        g.DrawImage(myBitmap0, 0, 0)

        '=====================================================
        '１番目のオリジナルの描画
        g.DrawImage(myBitmap1, 20, 20)

        '１番目のの透明色を黒色にする
        myBitmap1.MakeTransparent(Color.Black)

        'スプライト風の描画
        g.DrawImage(myBitmap1, 100, 20)

        'イメージを左右対称に反転
        myBitmap1.RotateFlip(RotateFlipType.RotateNoneFlipY)

        '反転したものを描画
        g.DrawImage(myBitmap1, 180, 20)

        '=====================================================
        '２番目のオリジナルの描画
        g.DrawImage(myBitmap2, 20, 100)

        '２番目の透明色を黒と白色にする
        myBitmap2.MakeTransparent(Color.FromArgb(255, 255, 255))
        myBitmap2.MakeTransparent(Color.FromArgb(0, 0, 0))

        'シースルー
        g.DrawImage(myBitmap2, 100, 100)

        'イメージを時計回りに90度回転
        myBitmap2.RotateFlip(RotateFlipType.Rotate90FlipNone)

        '回転したものを描画
        g.DrawImage(myBitmap2, 180, 100)

    End Sub
End Class
