Bitmap for WPF
画像の読み込みおよび保存
機能 > 画像の読み込みおよび保存

Bitmap には画像を読み込むためのさまざまな方法があります。C1Bitmap クラスは、ファイルやメモリストリームなどのさまざまなソースから画像を読み込むための、いくつかの Load オーバーロードメソッドを提供します。また、画像のメタデータを読み込み、画像のサイズ、ピクセル形式、または解像度(1インチあたりのドット数)を決定するために使用できます。

読み込まれた画像は、ファイルまたはメモリストリームに保存することができます。C1Bitmap クラスは、コンテナ形式を引数として受け入れる一般的な Save メソッドを提供します。C1Bitmap はまた、サポートされている各コンテナ形式に対して個別の SaveAs メソッドを提供します。

以下のコードは、ボタンのクリック時に任意の画像を読み込んで保存する方法を示しています。コード例では、OpenFileDialog および SaveFileDialog を使用して、ユーザーのマシンの任意の場所に保存されている画像ファイルにアクセスします。ストリームオブジェクトから画像を読み込む方法については、「クイックスタート」を参照してください。

Partial Public Class MainWindow
    Inherits Window

    'ビットマップのグローバル変数を定義します
    Dim bitmap As New C1Bitmap()

    'ボタンクリック時にピクチャボックスに任意の画像をロードするイベント
    Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim ofd = New OpenFileDialog()
        ofd.Filter = "Image Files|*.ico;*.bmp;*.gif;" +
                "*.png;*.jpg;*.jpeg;*.jxr;*.tif;*.tiff"

        If ofd.ShowDialog().Value Then
            bitmap.Load(ofd.FileName,
                        New FormatConverter(PixelFormat.Format32bppPBGRA))
            Image.Source = bitmap.ToWriteableBitmap()
            Image.Width = bitmap.PixelWidth
            Image.Height = bitmap.PixelHeight
        End If
    End Sub

    'ボタンクリック時にピクチャーボックスに表示される画像をファイルとして保存するイベント
    Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
        Dim sfd As New SaveFileDialog()
        sfd.Filter = "Png Files (*.png)|*.png"
        sfd.CheckPathExists = True

        If sfd.ShowDialog().Value Then
            bitmap.Save(sfd.FileName, ContainerFormat.Png)
        End If
    End Sub
End Class
public partial class MainWindow : Window
{
    //ビットマップのグローバル変数を定義します
    C1Bitmap bitmap; 

    public MainWindow()
    {
        InitializeComponent();

        //ビットマップを初期化します
        bitmap = new C1Bitmap();
    }

    //ボタンクリック時にピクチャボックスに任意の画像をロードするイベント
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        var ofd = new OpenFileDialog();
        ofd.Filter = "Image Files|*.ico;*.bmp;*.gif;" + 
            "*.png;*.jpg;*.jpeg;*.jxr;*.tif;*.tiff";

        if (ofd.ShowDialog().Value)
        {
            bitmap.Load(ofd.FileName, new 
                FormatConverter(PixelFormat.Format32bppPBGRA));
            image.Source = bitmap.ToWriteableBitmap();
            image.Width = bitmap.PixelWidth;
            image.Height = bitmap.PixelHeight;
        }
    }

    //ボタンクリック時にピクチャーボックスに表示される画像をファイルとして保存するイベント
    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        SaveFileDialog sfd = new SaveFileDialog();
        sfd.Filter = "Png Files (*.png)|*.png";
        sfd.CheckPathExists = true;

         if (sfd.ShowDialog().Value)
         {
             bitmap.Save(sfd.FileName, ContainerFormat.Png);
         }

    }
}
関連トピック