c#保存后图像大小增加

c#保存后图像大小增加,c#,png,gdi,C#,Png,Gdi,我正在尝试按如下方式保存图像: var file = Image.FromFile(@"D:\front.png"); file.Save(@"D:\front_save.png"); 保存的iImage的大小几乎是原始iImage的两倍。如何保存图像,使其与原始图像完全相同 不幸的是,.NET没有公开任何方法来控制作为PNG压缩一部分应用的参数。由于PNG是一种无损格式,两幅图像“相同”,只是存储方式不同。任何保存原始图像的工具都必须使用与默认.NET

我正在尝试按如下方式保存图像:

var file = Image.FromFile(@"D:\front.png");
file.Save(@"D:\front_save.png");
保存的iImage的大小几乎是原始iImage的两倍。如何保存图像,使其与原始图像完全相同


不幸的是,.NET没有公开任何方法来控制作为PNG压缩一部分应用的参数。由于PNG是一种无损格式,两幅图像“相同”,只是存储方式不同。任何保存原始图像的工具都必须使用与默认.NET PNG压缩默认值不同的压缩参数,从而优化文件大小。从.NET保存时,默认压缩参数会导致较大的非优化文件大小


问题的答案列出了一些可用于PNG优化的第三方库。如果您不担心信息丢失,可以将图像保存为jpeg格式

将其保存为
file.save(@“Image\Path”,ImageFormat.Png)
会有不同吗?不,大小是一样的。我想这是因为Image类重新编码了图像。重复的帮助@EugeneBelov是否可能重复?我没有足够的代表在原始问题中发表评论。但我刚刚意识到@mjwills使用File.Copy()的解决方案可以完全满足您的需要,只要您不需要访问C#中的图像。