PictureBoxに表示されている画像はImageプロパティのSaveメソッドで保存することが可能です。
Saveメソッドの第1引数には保存ファイルパスを、第2引数には保存形式を指定します。
保存形式にはImageFormatクラスの値を指定します。
| メンバ名 | 説明 |
|---|---|
| BMP | ビットマップ(BMP)形式 |
| Emf | 拡張メタファイル(EMF)形式 |
| Exif | Exif形式 |
| Gif | GIF形式 |
| GUID | このImageFormatオブジェクトを表すGuid構造体 |
| Icon | Windowsアイコンイメージ形式 |
| Jpeg | JPEG形式 |
| MemoryBmp | メモリ上のビットマップ形式 |
| Png | PNG形式 |
| Tiff | TIFF形式 |
| Wmf | Windowsメタファイル(WMF)形式 |
下記は、PictureBoxに表示されている画像を保存する例です。
[画像を開く]ボタンでPictureBoxに表示する画像を選択し、[画像を保存]ボタンでPictureBoxに表示されている画像を保存します。
画像の保存では、拡張子で画像の保存形式を決定しています。
VBの例
' [画像を開く]ボタンクリック時の処理
Private Sub btnOpenImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenImage.Click
'フィルターの設定
OpenFileDialog1.Filter = "画像ファイル|*.gif;*.jpg;*.png|すべてのファイル|*.*"
'ファイル選択ダイアログを表示
OpenFileDialog1.ShowDialog()
End Sub
' [開く]ボタンクリック時の処理
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
'イメージの表示方法を設定(サイズ比率を維持したまま拡大/縮小)
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
'PictureBoxにイメージを読み込む
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
End Sub
' [画像を保存]ボタンクリック時の処理
Private Sub btnSaveImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveImage.Click
'フィルターの設定
SaveFileDialog1.Filter = "GIF形式|*.gif|JPEG形式|*.jpeg|PNG形式|*.png"
'ファイル保存ダイアログを表示
SaveFileDialog1.ShowDialog()
End Sub
' [保存]ボタンクリック時の処理
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
Dim extension As String = IO.Path.GetExtension(SaveFileDialog1.FileName)
Select Case extension.ToUpper
Case ".GIF"
'★★★PictureBoxのイメージをGIF形式で保存する★★★
PictureBox1.Image.Save(SaveFileDialog1.FileName, Imaging.ImageFormat.Gif)
Case ".JPEG"
'★★★PictureBoxのイメージをJPEG形式で保存する★★★
PictureBox1.Image.Save(SaveFileDialog1.FileName, Imaging.ImageFormat.Jpeg)
Case ".PNG"
'★★★PictureBoxのイメージをGIF形式で保存する★★★
PictureBox1.Image.Save(SaveFileDialog1.FileName, Imaging.ImageFormat.Png)
End Select
End Sub
C#の例
// [画像を開く]ボタンクリック時の処理
private void btnOpenImage_Click(object sender, EventArgs e)
{
// フィルターの設定
openFileDialog1.Filter = "画像ファイル|*.gif;*.jpg;*.png|すべてのファイル|*.*";
// ファイル選択ダイアログを表示
openFileDialog1.ShowDialog();
}
// [開く]ボタンクリック時の処理
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
// イメージの表示方法を設定(サイズ比率を維持したまま拡大/縮小)
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
// PictureBoxにイメージを読み込む
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
}
/// [画像を保存]ボタンクリック時の処理
private void btnSaveImage_Click(object sender, EventArgs e)
{
// フィルターの設定
saveFileDialog1.Filter = "GIF形式|*.gif|JPEG形式|*.jpeg|PNG形式|*.png";
// ファイル保存ダイアログを表示
saveFileDialog1.ShowDialog();
}
// [保存]ボタンクリック時の処理
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
string extension = System.IO.Path.GetExtension(saveFileDialog1.FileName);
switch (extension.ToUpper())
{
case ".GIF":
// ★★★PictureBoxのイメージをGIF形式で保存する★★★
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Gif);
break;
case ".JPEG":
// ★★★PictureBoxのイメージをJPEG形式で保存する★★★
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case ".PNG":
// ★★★PictureBoxのイメージをGIF形式で保存する★★★
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Png);
break;
}
}
Please follow and like us:



コメント