繁体   English   中英

为什么在保存图像时C#中的位图会扩展图像的文件大小?

[英]Why does the Bitmap in C# expand an image's file size when saving it?

我正在一个项目中,该项目要求通过修改像素数据数组以不同方式处理图像。 在C#中使用Bitmap类非常简单,但是保存Bitmap似乎有奇怪的行为。

即使对于未经任何修饰的图像,在保存时其尺寸也会增加。

例如source.png - 2MB变为destination.png - 3MB

class Program
{
    static void Main(string[] args)
    {
        Bitmap bitmap = new Bitmap(@"SomePath\source.png");
        bitmap.Save(@"SomePath\destination.png", ImageFormat.Png);
    }
}

如果在保存图像时使用压缩算法的第三方软件创建了原始图像,则有时会发生这种情况。 当您将此图像作为位图对象打开时,压缩是“撤消”的。 并且保存后,C#不会应用与第三方软件所应用的压缩算法相同的压缩算法,从而导致生成的图像尺寸扩大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM