Bitmap for UWP
クイックスタート

このクイックスタートでは、Bitmapを使用して画像を読み込む方法を説明します。Visual Studio で UWP アプリケーションを作成し、C1.UWP.Bitmap (dll) への参照、イメージコントロール、およびストリームから C1Bitmap に画像を読み込むためのボタンを追加することから始めます。

C1Bitmap オブジェクトに画像を読み込むシンプルな UWP アプリケーションを作成するには、次の手順を実行してください。

  1. アプリケーションの設定
  2. C1Bitmap 内に画像を読み込む

以下の画像は、ストリームから C1Bitmap 内に読み込まれた画像を表示する例を示しています。

アプリケーションの設定

アプリケーションを設定するには、以下の手順に従ってください。

  1. Visual Studio で新規プロジェクトを作成し、空白のアプリ(ユニバーサルWindows)を選択します。
  2. アプリケーションに以下の参照を追加します。
    • C1.UWP.Bitmap
    • C1.UWP.DX
  3. ソリューションエクスプローラ」内で、プロジェクト名を右クリックして、[追加]→[新しいフォルダ]を選択し、追加されたフォルダに新しい名前を付けます。この例では、新規フォルダに 「Resources」 という名前を付けています。
  4. サンプル画像を Resources フォルダに追加し、「プロパティ」ウィンドウにてその「ビルド アクション」プロパティを「埋め込みリソース」に設定します。
  5. サンプル画像を読み込むための標準の Button コントロールと、サンプル画像を表示するための img と名前付けされた Image コントロールを追加します。
  6. ボタンの Content プロパティに「画像の読み込み」というテキストを設定します。
先頭に戻る

C1Bitmap 内に画像を読み込む

C1Bitmap 内に画像を読み込むには、以下の手順に従ってください。

  1. コードビューに切り替えて、コード内に以下の import ステートメントを追加します。
    Imports C1.Xaml.Bitmap
    Imports System.Reflection
    Imports Windows.Graphics.Imaging
    
    using C1.Xaml.Bitmap;
    using System.Reflection;
    using System.Threading.Tasks;
    using Windows.Graphics.Imaging;
    using Windows.UI.Xaml.Media.Imaging;
    
  2. 以下のクラスオブジェクトを作成します。
    Dim btmp As C1Bitmap
    Dim sb As SoftwareBitmap
    Dim sbs As SoftwareBitmapSource
    
    C1Bitmap btmp;
    SoftwareBitmap sb;
    SoftwareBitmapSource sbs;
    
  3. ビットマップと SoftwareBitmapSource を初期化するために、クラスのコンストラクタに以下のコードを追加します。
    btmp = New C1Bitmap()
    sbs = New SoftwareBitmapSource()
    
    btmp = new C1Bitmap();
    sbs = new SoftwareBitmapSource();
    
  4. 以下のコードを btnLoad_Click イベント内に追加します。これは、ストリームを使用して C1Bitmap 内に画像を読み込みます。
    Dim asm As Assembly = GetType(MainPage).GetTypeInfo().Assembly
    Using stream As Stream = asm.GetManifestResourceStream("BitmapUWP_VB.GrapeCity.jpg")
        btmp.Load(stream, New FormatConverter(PixelFormat.Format32bppPBGRA))
    End Using
    Await UpdateImageSource()
    
    Assembly asm = typeof(MainPage).GetTypeInfo().Assembly;
    using (Stream stream = asm.GetManifestResourceStream("BitmapUWP.Resources.GrapeCity.jpg"))
    {
        btmp.Load(stream, new FormatConverter(PixelFormat.Format32bppPBGRA));
    }
    await UpdateImageSource();
    
    メモ: イベント上で非同期メソッドを呼び出すため、async キーワードと await オペレータを使用しています。
  5. UpdateImageSource という名前のメソッドを作成します。これは、SoftwareBitmap を作成し、それをソースの SoftwareBitmap としてイメージソースに割り当てます。
    Private Async Function UpdateImageSource() As Task
        sb = btmp.ToSoftwareBitmap()
        Await sbs.SetBitmapAsync(sb)
        img.Source = sbs
    End Function
    
    private async Task UpdateImageSource()
    {
        sb = btmp.ToSoftwareBitmap();
        await sbs.SetBitmapAsync(sb);
        img.Source = sbs;
    }
    
先頭に戻る
関連トピック