玄関へお回り下さい。
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 NothingThen
            .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
 
  





2004/05/09
2005/10/13


VBレスキュー(花ちゃん)
VB.NET2003  VB2005