将图像读取到字节数组并更改它
Posted
技术标签:
【中文标题】将图像读取到字节数组并更改它【英文标题】:Reading image to byte array and changing it 【发布时间】:2016-04-18 17:48:24 【问题描述】:我正在尝试在 C# 中使用 MemoryStream。 因此,我确实将 Image 转换为字节数组,将字节数组转换为 Image。 像这样
var bytes = File.ReadAllBytes("1.jpg");
var ms = new MemoryStream(bytes, true);
var image = Image.FromStream(ms);
pictureBox1.Image = image;
它工作正常(在图片框中显示图像)。但是当我尝试更改字节数组时
bytes[0] = 254
它抛出异常无效参数。 那么,我如何更改字节数组或将字节写入流? ms.WriteByte 不起作用。谢谢
【问题讨论】:
请展示更多你的“改变字节数组”的过程。那是失败的代码,这是我们需要看到的。 【参考方案1】:JPEG (JPG) 文件是图像的压缩表示。它结构复杂,不是字节矩阵。修改其中的第一个字节很可能会使其无效。您最好将您的修改应用到image
。然后将图片保存为JPEG格式。
【讨论】:
以上是关于将图像读取到字节数组并更改它的主要内容,如果未能解决你的问题,请参考以下文章