![](/img/trans.png)
[英]Why does saving image on C# Bitmap give different file size than original?
[英]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.