为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕容森 2019-09-26 09:43:02
我搜索了有关字节数组的所有问题,但我总是失败。我从未编码过C#,这方面我是新手。您能帮我如何从字节数组制作图像文件吗?这是我的函数,它在名为的数组中存储字节 imageDatapublic void imageReady( byte[] imageData, int fWidth, int fHeight))
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您需要将它们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.


查看完整回答
反对 回复 2019-09-26
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

可以像这样简单:

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");}


查看完整回答
反对 回复 2019-09-26
  • 3 回答
  • 0 关注
  • 445 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信