【发布时间】:2015-10-02 11:21:30
【问题描述】:
我目前正在开发一个小程序来从磁盘读取 png 文件,进行一些修改并将其保存回来。一切都很顺利,除了一个小问题,我将文件保存回磁盘后,它的大小总是增加,例如,一个 27.1MB 的文件会变成 33.3MB。
经过一些调试后,我终于将范围缩小到阅读和保存代码。这是我目前使用的代码:
Bitmap img = new Bitmap(<path to file>);
//omitted
img.Save(<path to new file>, ImageFormat.Png);
我已经验证,无论我是否进行任何修改,只需读取并保存图像就会导致其大小发生变化。此外,如果我用 Paint 打开保存的文件并从那里保存,文件将缩小到原始大小。
如何在不改变大小的情况下读取和保存图像?
【问题讨论】:
-
如果您使用 C# 程序重新读取相同的 PNG,是否也会发生这种情况?如果不是,则可能与 PNG 压缩级别有关(您使用的代码压缩较少,Paint 压缩较多)。
-
如果我重新读取同一个保存的 PNG,那么它的大小就不会再增加了。
标签: c# image-processing png