我目前正在编写一个小程序,用于从磁盘读取png文件,进行一些修改并将其保存回去。除了一个小问题之外,一切运行都很顺利,在我将文件保存回磁盘后,它的大小总是会增加,例如,27.1MB的文件将变成33.3MB。
经过一些调试,我终于将其缩小到读取和保存代码。这是我目前使用的代码:
Bitmap img = new Bitmap(<path to file>);
//omitted
img.Save(<path to new file>, ImageFormat.Png);
我已经验证了,无论我做了或不做任何修改,简单地读取和保存图像将导致它的大小改变。此外,如果我用画图打开
图像大小约为2.5MB
这段代码为我提供了正确的大小:
var fileLength = new FileInfo(path).Length;
这段代码给我提供了大约600KB
Image image= Image.FromFile(path);
byte[] imageByte = imageToByteArray(image);
long legnth= imageByte.Length;
public static byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new Memo