我正在研究一个项目,该项目要求通过修改像素数据数组以不同方式处理图像。在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);
}
}
答案 0 :(得分:2)
如果在保存图像时使用压缩算法的第三方软件创建了原始图像,则有时会发生这种情况。当您将此图像作为位图对象打开时,压缩是“撤消”的。并且保存后,C#不会使用与第三方软件相同的压缩算法,从而导致生成的图像尺寸扩大。