如何从字节数组创建位图?

我搜索了有关字节数组的所有问题,但我总是失败。我从未编码过C#,这方面我是新手。您能帮我如何从字节数组制作图像文件吗?

这是我的函数,它在名为的数组中存储字节 imageData

public void imageReady( byte[] imageData, int fWidth, int fHeight))


慕容森
浏览 451回答 3
3回答

慕标琳琳

您需要将它们bytes放入MemoryStream:Bitmap bmp;using (var ms = new MemoryStream(imageData)){     bmp = new Bitmap(ms);}那使用了Bitmap(Stream stream)构造函数重载。更新:请记住,根据文档以及我一直阅读的源代码,ArgumentException在以下情况下会抛出:stream does not contain image data or is null.-or-stream contains a PNG image file with a single dimension greater than 65,535 pixels.

慕无忌1623718

可以像这样简单:var ms = new MemoryStream(imageData);System.Drawing.Image image = Image.FromStream(ms);image.Save("c:\\image.jpg");测试一下:byte[] imageData;// Create the byte array.var originalImage = Image.FromFile(@"C:\original.jpg");using (var ms = new MemoryStream()){     originalImage.Save(ms, ImageFormat.Jpeg);     imageData = ms.ToArray();}// Convert back to image.using (var ms = new MemoryStream(imageData)){     Image image = Image.FromStream(ms);     image.Save(@"C:\newImage.jpg");}
打开App,查看更多内容
随时随地看视频慕课网APP