Bitmap for WPF
クイックスタート

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

Bitmap を使用して標準のイメージコントロールに画像を読み込むには、以下の手順を実行してください。

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

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

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

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

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

  1. コードビューに切り替えて、以下の import ステートメントを追加します。
    Imports C1.WPF
    Imports C1.WPF.Bitmap
    Imports C1.Util.DX
    Imports System.Reflection
    Imports System.IO
    
    using C1.WPF;
    using C1.WPF.Bitmap;
    using C1.Util.DX;
    using System.Reflection;
    using System.IO;
    
  2. MainWindow クラスのビットマップを初期化します。
    'ビットマップを初期化します
    Private bitmap As C1Bitmap
    
    Public Sub New()
    
        ' デザイナーによって必要とされる呼び出し
        InitializeComponent()
        bitmap = New C1Bitmap()
        ' InitializeComponent()呼び出しの後に任意の初期化を追加します。
    
    End Sub
    
    //ビットマップを初期化します
    C1Bitmap bitmap = new C1Bitmap();
    
  3. ボタンのクリックイベントをサブスクライブし、ストリームオブジェクトからビットマップにサンプル画像を読み込むために、以下のコードを追加します。
    'ボタンをクリックした際に、画像をストリームにロードします
    Private Sub Btn_Load_Click(sender As Object, e As RoutedEventArgs) _
        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 Button_Click(object sender, RoutedEventArgs e)
    {
        Assembly asm = typeof(MainWindow).Assembly;
        using (Stream stream = 
            asm.GetManifestResourceStream("Bitmap.Resources.GrapeCity.png"))
        {
            bitmap.Load(stream, 
                new FormatConverter(PixelFormat.Format32bppPBGRA));
        }
    
        UpdateImage();
    }
    
  4. サンプル画像を表示する UpdateImage メソッドを定義するために、以下のコードを追加します。
    'ロードされた画像を表示します
    Private Sub UpdateImage()
        Me.image.Source = bitmap.ToWriteableBitmap()
        Me.image.Width = bitmap.PixelWidth
        Me.image.Height = bitmap.PixelHeight
    End Sub
    
    //ロードされた画像を表示します
    private void UpdateImage()
    {
        this.image.Source = bitmap.ToWriteableBitmap();
        this.image.Width = bitmap.PixelWidth;
        this.image.Height = bitmap.PixelHeight;
    }
    
関連トピック