PictureBox上での画像表示操作色々(9個) (SNo.090) 1.画像ファイルを読み込み表示(ファイルのサイズで) 2.画像ファイルを拡大表示する 3.画像ファイルを縮小表示する 4.PictureBoxをクリアする 5.画像ファイルを90度毎に回転表示する 6.鏡像画像を表示する 7.PictureBoxに文字を縦書きに表示する 8.透過色を指定して画像を表示 9.GIFアニメーションファイルを表示 |
|
使用コントロール | Button1 〜 Button9 PictureBox1 |
その他条件 | WindowsXP(Vista) Visual Basic 2005(VB2008) 必要により画像ファイルを準備願います。 |
1.画像ファイルを読み込み表示(ファイルのサイズで)
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click '画像ファイルを読み込み表示(ファイルのサイズで) With PictureBox1 '表示する画像のサイズに合わせてPictureBoxを表示します .SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize '画像ファイルを読み込みPictureBoxに表示 .Image = System.Drawing.Image.FromFile("..\..\test.bmp") End With End Sub |
|
2.画像ファイルを拡大表示する Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click '画像を拡大表示する With PictureBox1 'PictureBoxのサイズに合わせて画像を表示します .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 'PictureBoxのサイズを10%づつ大きくする .Size = New Size(.Size.Width * 1.1, .Size.Height * 1.1) End With End Sub |
|
3.画像ファイルを縮小表示する Private Sub Button3_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button3.Click '画像を縮小表示する With PictureBox1 'PictureBoxのサイズに合わせて画像を表示します .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 'PictureBoxのサイズを10%づつ小さくする .Size = New Size(.Size.Width * 0.9, .Size.Height * 0.9) End With End Sub |
|
4.PictureBoxをクリアする Private Sub Button4_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button4.Click 'PictureBox内の表示を消去する PictureBox1.Image = Nothing '上記でもいいが下記の方法が MSDN でも紹介されています。 '最初にイメージによって使用されているメモリを解放してから、グラフィックを消去します With PictureBox1 If Not (.Image Is Nothing) Then .Image.Dispose() .Image = Nothing End If End With End Sub MSDN の 実行時のピクチャーの設定 (Windows フォーム) の中の グラフィックを消去するには に書かれています。 |
|
5.画像ファイルを90度毎に回転表示する Private Sub Button5_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button5.Click 'PictureBoxの表示を90度毎に回転表示する With PictureBox1 .Image.RotateFlip(RotateFlipType.Rotate90FlipNone) .Image = .Image End With End Sub |
|
6.鏡像画像を表示する Private Sub Button6_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button6.Click '鏡像画像を表示する With PictureBox1 '回転せずに水平方向に反転することを指定します。 '定数を変更すれば上下方向の鏡像も表示できます。 .Image.RotateFlip(RotateFlipType.RotateNoneFlipX) .Image = .Image End With End Sub |
|
7.PictureBoxに文字を縦書きに表示する Private Sub Button7_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button7.Click 'PictureBoxに文字列を縦書きで表示 'グラフィックオブジェクトを作成 Dim g As Graphics 'テキストが縦書きになるよう指定します Dim sf As New StringFormat(StringFormatFlags.DirectionVertical) With PictureBox1 g = Graphics.FromImage(.Image) .Font = New Font("MS Pゴシック", 20) '表示文字とフォントと表示位置を指定して縦書きで表示 '他のフォームの裏に隠れても消えません。 g.DrawString("縦書き表示です。", .Font, Brushes.Red, .Size.Width * 0.5, 5, sf) .Image = .Image End With 'リソースを解放します sf.Dispose() g.Dispose() End Sub |
|
8.透過色を指定して画像を表示 Private Sub Button8_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button8.Click '透過色を指定して画像を表示(他のフォームの裏に隠れると消えます) 'Bitmap を作成 Dim bmp As Bitmap = New Bitmap("..\..\gara.bmp") Dim g As Graphics With PictureBox1 '画像ファイルのサイズにPictureBoxのサイズを変更 .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 'PictureBoxのサイズを設定 .Size = New Size(bmp.Width, bmp.Height) .Refresh() 'Graphics オブジェクトを作成 g = .CreateGraphics End With 'ビットマップの透明色を指定(ブルー) bmp.MakeTransparent(Color.Blue) '指定した位置にImage オブジェクトを描画 g.DrawImage(bmp, 0, 0) 'リソースを解放します g.Dispose() bmp.Dispose() End Sub |
|
9.GIFアニメーションファイルを表示 Private Sub Button9_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button9.Click 'GIFアニメーションを表示 With PictureBox1 '表示する画像のサイズに合わせてPictureBoxを表示します .SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize .Image = Image.FromFile("..\..\ani.gif") End With End Sub |
|