web-dev-qa-db-ja.com

PictureBox.Imageをファイルに保存する方法

以下を使用して、jpgImageをPictureBox.Imageに書き込みます。

var jpgImage = new Byte[jpgImageSize];
...
pictureBox.Image = new Bitmap(new MemoryStream(jpgImage));

次のようにしてバイト配列をファイルに書き込むことができます

using (var bw =
    new BinaryWriter(File.Open(filename, FileMode.Create,
        FileAccess.Write, FileShare.None)))
{
    bw.Write(jpgImage);
}

しかし、どうすればPictureBox.ImageからjpgImageバイト配列を取得して、ファイルに書き込むことができますか? IOW:PictureBox.Imageからバイト配列を取得するために以下を逆にするにはどうすればよいですか?

pictureBox.Image = new Bitmap(new MemoryStream(jpgImage));
12
jacknad

これを試して

pictureBox.Image.Save(@"Path",ImageFormat.Jpeg);
30
Donatas K.

あなたは使うかもしれません、

pictureBox.Image.Save(stream,System.Drawing.Imaging.ImageFormat.Jpeg);

例:

 System.IO.MemoryStream ms = new System.IO.MemoryStream();
 pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
 byte[] ar = new byte[ms.Length];
 ms.Write(ar, 0, ar.Length);
8
adatapost