我使用以下命令将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));
答案 0 :(得分:30)
试试这个
pictureBox.Image.Save(@"Path",ImageFormat.Jpeg);
答案 1 :(得分:8)
您可以使用,
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);
答案 2 :(得分:0)
使用以下代码保存到自定义位置
using (SaveFileDialog saveFileDialog = new SaveFileDialog() {Filter = @"PNG|*.png"})
{
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
pictureBox.Image.Save(saveFileDialog.FileName);
}
}