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:
コメント