【问题标题】: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 不起作用。谢谢

【问题讨论】:

  • 请展示更多你的“改变字节数组”的过程。那是失败的代码,这是我们需要看到的。

标签: c# memorystream


【解决方案1】:

JPEG (JPG) 文件是图像的压缩表示。它结构复杂,不是字节矩阵。修改其中的第一个字节很可能会使其无效。您最好将您的修改应用到image。然后将图片保存为JPEG格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 2019-07-27
    • 2018-08-01
    相关资源
    最近更新 更多