求助,对PNG图片缩小后,文件比原图还要大?

weixin_38058377 2019-05-17 07:15:46

Image im = Image.FromFile("d:\\图片.png");
int ww = 800, hh = 0;
//按照目标宽度计算出目标高度
hh = (int)(((double)ww / (double)im.Width) * im.Height);

Bitmap bm = new Bitmap(ww, hh);
//新建一个画板
Graphics g = Graphics.FromImage(bm);
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.DrawImage(im, new Rectangle(0, 0, ww, hh));
//g要dispose吗?
g.Dispose();

bm.Save("d:\\图片_resize.png", ImageFormat.Png);
im.Dispose();
bm.Dispose();


代码如上,选择 一张png文件(宽度1000以上),运行之后生成一个宽度800的小图;结果这个小图的大小(byte)比原图还大。为什么?

如果是JPG则没有这个问题。


da jia hao!
...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38067693 2019-05-20
  • 打赏
  • 举报
回复
请问怎么保存为256颜色格式?你给的链接只有获取图像编码的代码。
而且我找过相关资源,发现C#好像只能够对jpg图片设置质量,png就没有类似选项?da jia hao!
weixin_38064773 2019-05-19
  • 打赏
  • 举报
回复
有很多种情况,你这个就是元数据改变大小。
你这个改变之后,图片应该清楚很多。
文件大小和图片大小之间的联系,并非是直接的
如果真的只是想压缩图片,可以具体百度压缩算法

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧