小编jua*_*los的帖子

File.ReadAllBytes 无法正确读取 PNG 图像像素

我正在尝试使用方法读取 .png 图像的字节,File.ReadAllBytes(string)但没有成功。

我的图像大小为 2464x2056x3(15.197.952 字节),但此方法返回大约 12.000.000 字节的数组。

我尝试使用相同大小的白色图像,得到一个 25.549 的字节数组,并检查字节数组,我可以看到所有类型的值,这显然是不正确的,因为它是白色图像。

我正在使用的代码是:

var frame = File.ReadAllBytes("C:\\workspace\\white.png");
Run Code Online (Sandbox Code Playgroud)

我还尝试首先将图像作为图像对象打开,然后使用以下内容获取字节数组:

using (var ms = new MemoryStream())
{
  var imageIn = Image.FromFile("C:\\workspace\\white.png");
  imageIn.Save(ms, imageIn.RawFormat);
  var array = ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

但结果还是和之前一样……

知道发生了什么吗?

如何读取字节数组?

c# arrays png image

4
推荐指数
1
解决办法
1008
查看次数

标签 统计

arrays ×1

c# ×1

image ×1

png ×1