C# 以流格式从picturebox保存图像
我想将加载到picturebox中的图片保存到流媒体。当我以png格式保存时,它可以正常工作,但当我想以其他格式保存时,我得到了 GDI+异常中出现一般错误 这是我的代码:C# 以流格式从picturebox保存图像,c#,c#-4.0,c#-2.0,C#,C# 4.0,C# 2.0,我想将加载到picturebox中的图片保存到流媒体。当我以png格式保存时,它可以正常工作,但当我想以其他格式保存时,我得到了 GDI+异常中出现一般错误 这是我的代码: Image Img = pictureBox1.Image; byte[] inputImage = new byte[Img.Width * Img.Height]; System.IO.MemoryStream ms = new System.IO.MemoryStream(); ms.Read(inputImage,
Image Img = pictureBox1.Image;
byte[] inputImage = new byte[Img.Width * Img.Height];
System.IO.MemoryStream ms = new System.IO.MemoryStream();
ms.Read(inputImage, 0, Img.Width * Img.Height);
if (System.Drawing.Imaging.ImageFormat.Jpeg.Equals(Img.RawFormat))
{
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
}
else if (System.Drawing.Imaging.ImageFormat.Gif.Equals(Img.RawFormat))
{
ms.Seek(0, SeekOrigin.Begin);
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
}
else if (System.Drawing.Imaging.ImageFormat.Png.Equals(Img.RawFormat))
{
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
}
else if (System.Drawing.Imaging.ImageFormat.Bmp.Equals(Img.RawFormat))
{
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
}
尝试以下方法:
public Stream ImageToStream(Image image, System.Drawing.Imaging.ImageFormat format)
{
MemoryStream ms = new MemoryStream();
image.Save(ms, format);
return ms;
}
并使用它:
using(Stream stream = ImageToStream(pictureBox1.Image,
System.Drawing.Imaging.ImageFormat.Gif))
{
...
}
我刚刚把你的全部代码复制到一个C#程序(.Net3.5)中,它运行时没有出错!我可以用不同的格式保存!可能重复的