c# - 使用编组时来自字节数组的图像创建错误图像
问题描述
我正在尝试将字节数组转换为图像。为了测试,我从这张图片开始:
然后我将它加载到一个字节数组中:
byte[] imageData = File.ReadAllBytes("download.png");
然后我创建新的位图以将此字节数组“存放”到:
Bitmap bmp = new Bitmap(704, 480, PixelFormat.Format24bppRgb);
nb 高度和宽度与原始图像相同。
然后我创建一个 BitmapData 并锁定所有要写入的像素:
BitmapData bmpData = bmp.LockBits(
new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite, bmp.PixelFormat);
然后我将字节数组中的数据复制到 BitmapData.Scan0 中:
Marshal.Copy(imageData, 0, bmpData.Scan0, imageData.Length);
然后我解锁像素:
bmp.UnlockBits(bmpData);
然后我终于将它保存到一个文件中:
bmp.Save("D:\\test.png");
保存的文件如下所示:
解决方案
推荐阅读
- c - 函数不扫描第二个值
- xml - 谷歌搜索控制台对我的第二个 sitemap.xml 说“不支持的文件格式”
- javascript - 提交事件后,如何从控制器函数中的类获取返回值?
- airflow-scheduler - Airflow dag 的日志作为电子邮件的附件/正文
- c++ - 您可以使用带有指定初始值设定项的显式构造函数吗?
- javascript - 浏览器显示 TypeError: Cannot read property 'user' of undefined
- javascript - 分叉和修改 npm 包。Src 还是 Dist?与 dist 有什么关系?
- html - 在两个内联块元素之间添加间距
- dependency-injection - 动态数据库模块和 CONNECTION 注入令牌的目的是什么?
- javascript - 在 javascript NodeList 上实现上一个和下一个按钮时遇到问题