Bitmap for WinForms
クイックスタート

このクイックスタートセクションでは、Bitmap を使用して画像を読み込む方法を説明します。Visual Studio で WinForms アプリケーションを作成し、サンプル画像をアプリケーションに追加し、Bitmap を使用してピクチャーボックスにサンプル画像を読み込むコードを追加することから始めます。このセクションに記載されたコードは、ストリームオブジェクトを介して Bitmap に画像を読み込む方法を示しています。

Bitmap を使用してピクチャボックスに画像を読み込むには、以下の手順を実行してください。

  1. アプリケーションの設定とサンプル画像の追加
  2. Bitmap を使用して画像を読み込むコードの追加

以下の画像は、アプリケーションがボタンクリックによって Bitmap 内に読み込まれた画像を表示する例を示しています。

手順1:アプリケーションの設定とサンプル画像の追加

  1. Visual Studioで WinForms アプリケーションを作成します。
  2. アプリケーションに以下の参照を追加します。
    • C1.Win.4.5.2
    • C1.Win.Bitmap.4.5.2
    • C1.Win.C1DX.4.5.2
  3. ソリューションエクスプローラ」内で、プロジェクト名を右クリックして、[追加] →[新しいフォルダ]を選択し、「Resources」 という名前を付けます。
  4. Visual Studioで、サンプル画像を Resources フォルダに追加し、プロパティウィンドウにて「ビルド アクション」プロパティを「埋め込みリソース」に設定します。
  5. クリックされたらサンプル画像を読み込むための標準の Button コントロールと、サンプル画像をフォームに表示するための PictureBox コントロールを追加します。
  6. プロパティウィンドウにて、ボタンの Text プロパティに適切なテキストを設定します。
  7. プロパティウィンドウにて、ピクチャボックスの SizeMode プロパティに StretchImage を設定します。

手順2:Bitmap を使用して画像を読み込むコードの追加

  1. コードビューに切り替えて、以下の import ステートメントを追加します。
    Imports C1.Win.Bitmap
    Imports C1.Util.DX
    Imports System.Reflection
    Imports System.IO
    
    using C1.Win.Bitmap;
    using C1.Util.DX;
    using System.Reflection;
    using System.IO;
    
  2. Form1 クラスのビットマップを初期化します。
    'ビットマップを初期化します
    Dim bitmap As New C1Bitmap()
    
    //ビットマップを初期化します
    C1Bitmap bitmap = new C1Bitmap();
    
  3. ボタンのクリックイベントをサブスクライブし、ストリームオブジェクトからビットマップにサンプル画像を読み込むために、以下のコードを追加します。
    'ボタンをクリックする時に画像をストリームでロードします
    Private Sub Btn_Load_Click(sender As Object, e As EventArgs) Handles Btn_Load.Click
        Dim t As Type = Me.GetType
        Dim asm As Assembly = t.Assembly
        Dim stream As Stream = asm.GetManifestResourceStream(t, "GrapeCity.png")
        bitmap.Load(stream, New FormatConverter(PixelFormat.Format32bppPBGRA))
        UpdateImage()
    End Sub
    
    //ボタンをクリックする時に画像をストリームでロードします
    private void button1_Click(object sender, EventArgs e)
    {
        Assembly asm = typeof(Form1).Assembly;
        using (Stream stream = asm.GetManifestResourceStream
            ("LoadBitmapStream.Resources.GrapeCity.png"))
        {
            bitmap.Load(stream, 
                new FormatConverter(PixelFormat.Format32bppPBGRA));                
        }
    
        UpdateImage();
    }
    
  4. ピクチャボックスに画像を表示する UpdateImage メソッドを定義するために、以下のコードを追加します。
    'ビットマップにロードされた画像を表示します
    Private Sub UpdateImage()
        Dim bmp = pictureBox1.Image
        bmp = bitmap.ToGdiBitmap()
        pictureBox1.Image = bmp
        pictureBox1.Width = bmp.Width
        pictureBox1.Height = bmp.Height
    
    End Sub
    
    //ビットマップにロードされた画像を表示します
    private void UpdateImage()
    {
        var bmp = pictureBox1.Image as Bitmap;
        bmp = bitmap.ToGdiBitmap();
        pictureBox1.Image = bmp;                     
    }
    
関連トピック