C#での画像ファイル操作基礎(その2)
読み込んだ画像ファイルを保存するには、BitmapクラスのSaveメソッドを使用します。この時にSystem.Drawing.Imaging.ImageFormatクラスを使って、イメージの形式を指定することが出来ます。サポートされている形式は、ビットマップ、JPEG、GIF、Exif等です。
ここで、画像ファイルを保存する際にに気を付けることは、ファイルの拡張子は関係ないということです。つまりファイルの拡張子に関係なく、Saveメソッドで指定した形式(形式を指定しない場合は元のままの形式)で保存されるということです。アプリケーションを作成する場合は、ファイルの拡張子と実際のファイル形式が違う形式にならないようにする必要があると思います。
実行画面

今回のサンプルプログラムでは、読み込んだ画像をそのままの形式で保存する機能とビットマップファイル形式で保存する機能があります。ただし、上記の拡張子のチェックはしていませんのでご注意下さい。
以下、保存する部分のプログラムです。
//
// Bitmap形式で保存
//
private void buttonSaveBMP_Click(object sender, EventArgs e)
{
if(bitmapImage == null)
{
return;
}
//保存ダイアログの表示
SaveFileDialog sDialog = new SaveFileDialog();
sDialog.FileName = "file.bmp";
sDialog.InitialDirectory = @"C:\";
sDialog.Filter = "bmpファイル(*.bmp)|*.bmp";
sDialog.Title = "保存先のファイルを選択してください";
if (sDialog.ShowDialog() != DialogResult.OK)
{
return;
}
//bmp形式を指定して保存
bitmapImage.Save(sDialog.FileName, ImageFormat.Bmp);
}
//
// ファイルに保存(そのままの形式)
//
private void buttonSave_Click(object sender, EventArgs e)
{
if (bitmapImage == null)
{
return;
}
//保存ダイアログの表示
SaveFileDialog sDialog = new SaveFileDialog();
sDialog.FileName = "imagefile";
sDialog.InitialDirectory = @"C:\";
sDialog.Filter = "全てのファイル(*.*)|*.*";
sDialog.Title = "保存先のファイルを選択してください";
if (sDialog.ShowDialog() != DialogResult.OK)
{
return;
}
//ファイル名のみ指定して保存
bitmapImage.Save(sDialog.FileName);
}
プログラム全体は、以下のファイルをダウンロードしてご覧下さい。
プロジェクトファイル一式
Windowsプログラミング関連記事
Posted by nishida at 13:57:44


