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

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

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

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

Partial Public Class Form1
    Inherits Form
    'ビットマップのグローバル変数を定義します
    Private bitmap As C1Bitmap

    Public Sub New()
        InitializeComponent()

        'ビットマップを初期化します
        bitmap = New C1Bitmap()
    End Sub

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

        If ofd.ShowDialog() = DialogResult.OK Then
            bitmap.Load(ofd.FileName,
                        New FormatConverter(PixelFormat.Format32bppPBGRA))
            PictureBox1.Image = bitmap.ToGdiBitmap()
        End If
    End Sub

    'ボタンクリック時にピクチャボックスに表示される画像をファイルに保存するイベント
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim sfd = New SaveFileDialog()
        sfd.Filter = "Png Files (*.png)|*.png"
        sfd.CheckPathExists = True
        If sfd.ShowDialog() = DialogResult.OK Then
            bitmap.Save(sfd.FileName, ContainerFormat.Png)
        End If
    End Sub
End Class
public partial class Form1 : Form
{
    //ビットマップのグローバル変数を定義します
    C1Bitmap bitmap;

    public Form1()
    {
        InitializeComponent();

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

    //ボタンクリック時にピクチャボックスに任意の画像をロードするイベント
    private void button1_Click(object sender, EventArgs e)
    {          

        var ofd = new OpenFileDialog();
        ofd.Filter = "Image Files|*.ico;*.bmp;" +
                 "*.gif;*.png;*.jpg;*.jpeg;*.jxr;*.tif;*.tiff";
        ofd.Title = "Select the Image";

        if (ofd.ShowDialog() == DialogResult.OK)
        {
            bitmap.Load(ofd.FileName, 
                new FormatConverter(PixelFormat.Format32bppPBGRA));
            pictureBox1.Image = bitmap.ToGdiBitmap();
        }
    }

    //ボタンクリック時にピクチャボックスに表示される画像をファイルに保存するイベント
    private void button2_Click(object sender, EventArgs e)
    {
        var sfd = new SaveFileDialog();
        sfd.Filter = "Png Files (*.png)|*.png";
        sfd.CheckPathExists = true;
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            bitmap.Save(sfd.FileName, ContainerFormat.Png);                
        }
     }
}
関連トピック