ImageMagick.NET实现GIF图片问题件体积压缩以及自定义GIF尺寸大小
C#如何压缩压缩图片大小和尺寸?
今天给博客加了个图片加载中展示的GIF动态图,由于最近博客更新升级添加了几个推广类的图片,图片较大就设置了延迟加载,导致页面刚加载时会显示一篇空白区域
看着挺难受的就在网上找了个动态GIF图片来作为等待加载的动画,但是下载下来的gif图片尺寸和文件体积都比较大,于是找了好几个在线压缩GIF的工具来操作,折腾了好久没整出合心意的动图(各种vip付费劝退),实在不耐烦就自己写了个工具给搞定了。
原本想把这个工具挂到博客的在线工具栏目里,但是最后性能测试的时候放弃了(本地测试很慢放到博客服务器怕是直接要超时还会影响博客的响应速度),没办法服务器这块性能确实太拉垮了。
以下是实现压缩GIF体积以及设置自定义尺寸的代码 效果还不错
using (var collection = new MagickImageCollection(@"C:\Users\Administrator\Desktop\1.gif"))
{
// 设置新的宽度和高度
int newWidth = 200;
int newHeight = 108;
collection.Coalesce();
foreach (var image in collection)
{
image.Resize(newWidth, newHeight);//设置尺寸
}
collection.Quantize();//应用质量 默认75%
collection.Optimize();//优化体积
// 保存调整后的GIF图像
collection.Write("C:\\Users\\Administrator\\Desktop\\3.gif");
}