gpt4 book ai didi

c# - 位图文件大小与字节 [] 大小

转载 作者:行者123 更新时间:2023-11-30 12:26:34 24 4
gpt4 key购买 nike

bmp.ToByteArray(ImageFormat.Bmp).Length 3145782 int但文件系统显示为 2,25 MB(2.359.350 字节)和磁盘大小 2,25 MB(2.363.392 字节)

为什么会有差异以及如何确定 byte[] 中位图的正确大小形式?

    string appPath = Application.StartupPath;

var bmp = new Bitmap(Image.FromFile(appPath + "\\Images\\Penguins.bmp"));

public static byte[] ToByteArray(this Image image, ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, format);
return ms.ToArray();
}
}

window 7/NTFS

最佳答案

我怀疑这是因为磁盘上的文件不包含 alpha channel ,但在内存中却包含。在磁盘上它是每个像素 3 个字节,但在内存中它使用 4 个字节。

2359350*4/3 是 3145800,仅略高于您看到的值。我预计细微差别是因为磁盘上有一个 header ,但它实际上并不是图像的一部分。

关于c# - 位图文件大小与字节 [] 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28107592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com