* このサンプル・コードを試すには、まずVisual Studio .NETで新しいプロジェクトとして「Windows アプリケーション」を選択してプロジェクトを作成する。そしてフォームをダブルクリックしてコードを開き、自動作成されているForm1_Loadメソッドを削除してから、このサンプル・コードをコピー&ペーストすればよい。
for (int i = 0; i < 360; i += 10)
{
e.Graphics.RotateTransform(10);
e.Graphics.DrawImage(bitmap, 0, 0);
}
}
ビットマップを回転させながら描画するC#のサンプル・コード
Dim bitmap As Image
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim wc As System.Net.WebClient = New System.Net.WebClient
Dim stream As System.IO.Stream = wc.OpenRead("http://www.atmarkit.co.jp/fdotnet/images/fdotnet_m.gif")
bitmap = New Bitmap(stream)
stream.Close()
Me.SetStyle(ControlStyles.ResizeRedraw, True)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
Dim scale As Single = _
CSng(Me.ClientSize.Width) / CSng(bitmap.Width) / 2.0F
e.Graphics.TranslateTransform( _
Me.ClientSize.Width / 2, Me.ClientSize.Height / 2)
e.Graphics.ScaleTransform(scale, scale)
For i As Integer = 0 To 360 Step 10
e.Graphics.RotateTransform(10)
e.Graphics.DrawImage(bitmap, 0, 0)
Next
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim wc As System.Net.WebClient = New System.Net.WebClient
Dim stream As System.IO.Stream = wc.OpenRead("http://www.atmarkit.co.jp/fdotnet/images/fdotnet_m.gif")
bitmap = New Bitmap(stream)
stream.Close()