c# 在压缩bmp为png后的文件比用acdsee压缩的要大很多

yahle 2009-12-12 12:18:21

string folder = @"R:\temp";
var files = new DirectoryInfo(folder).GetFiles("*.bmp", SearchOption.AllDirectories);
foreach (var file in files)
{
using (Bitmap map = new Bitmap(file.FullName))
{
string name = file.FullName.Substring(0, file.FullName.Length - 3);
name += "png";
map.Save(name, System.Drawing.Imaging.ImageFormat.Png);
}
file.Delete();
Console.WriteLine(file);
}

上面的转换代码,在压缩bmp为png后,是700K,而用acdsee压缩后是500k,至少有30%的差别
压缩出来的图片,我看过png的色深都是24。
谁知道原因,上面的代码还需要加什么参数才能把这个尺寸压下去
...全文
280 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fonlan 2010-01-17
  • 打赏
  • 举报
回复
PNG算不上是无损吧,不过PNG压缩是可以设置压缩率的,可能ACD的压缩率高吧
yahle 2010-01-13
  • 打赏
  • 举报
回复
继续寻求能压缩到低尺寸的方法。
yahle 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangglemu 的回复:]
acdsee是对文件进行压缩
bmp,png是对图像的描述格式

二者虽然都有压缩,但不可相提并论

bmp,jpg,png都是对图像的压缩保存格式,都是有损压缩
其中Jpg对图像的丢弃最大,Png相对来说是无损压缩
[/Quote]

都是转换为png,而且png都是无损压缩算法,他们的结果怎么会不一样,难道png的压缩算法有多种?
zjh333 2009-12-14
  • 打赏
  • 举报
回复
C#好象什么都能做,但什么都得不好
楼主试一下VC++或Delphi,绝对不差
  • 打赏
  • 举报
回复
acdsee是对文件进行压缩
bmp,png是对图像的描述格式

二者虽然都有压缩,但不可相提并论

bmp,jpg,png都是对图像的压缩保存格式,都是有损压缩
其中Jpg对图像的丢弃最大,Png相对来说是无损压缩
云水千寻 2009-12-12
  • 打赏
  • 举报
回复
帮顶啦

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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