首页 > 其他分享 >使用ImageMagick为你的网站减重(2)

使用ImageMagick为你的网站减重(2)

时间:2022-12-16 17:34:41浏览次数:63  
标签:减重 ImageMagick Baseline Progressive 网站 JPEG com progressive 图片


以前写过一篇博客《​​使用ImageMagick为你的网站减重​​》,涉及到的手段是:

  1. 在服务器端把图片缩放到合适的尺寸,避免在前端用css缩放图片。
  2. 用imagemagick的strip功能移出图片里的EXIF等多余信息。
  3. 压缩JPEG图片的质量,减少图片体积。

Lossless Compress With ​​image_optim​

上面的手段都是针对用户上传的JPEG图片。对于网站自身的banner或logo等图片也可以通过各种工具进行无损压缩来减少图片体积。

​image_optim​​ 是一个Ruby的gem,可以组合调用 advpng gifsicle jpegoptim jpegtran optipng pngcrush pngout 等图片优化工具。使用方法非常简单,并且可以看到每个图片优化的大小:

image_optim app/assets/images/*.{jpg,png,gif}

Baseline vs. progressive JPEGs

  1. 浏览器在渲染普通的Baseline类型JPEG是从上到下的。
  2. 而在渲染Progressive类型JPEG是渐进式的,在整个图片还没有加载完,就可以显示整个轮廓,逐渐变清晰,直到最后整张图片渲染完成。

使用Imagemagick转换Baseline JPEG为Progressive JPEG

从上面的两张gif图片演示的效果可以看出,Progressive JPEG渲染的更快,体验更好(个人认为瀑布流网站使用Baseline方式渲染体验更好,因为看起来更像瀑布......)。但是,Baseline JPEG是默认的方式,如果需要Progressive只能强制转换。

convert -interlace plane baseline.jpg progressive.jpg #转换成Progressive JPEG
exiftool progressive.jpg |grep Encoding # 检测转换的结果,如果为Progressive DCT, Huffman coding就说明转换成功。

carrierwave mini_magick processor:

def optimize
manipulate! do |img|
img.strip
img.combine_options do |c|
c.quality "80"
# Use Progressive DCT Instead of Baseline DCT.
c.interlace "plane"
c.colorspace "rgb" #据说cmyk在IE下有问题,没试过..
end
img
end

How to Detect Progressive JPEG

有一种说法是用file或identify命令获取到图片的类型为JFIF即是Progressive JPEG,但是经过多次试验,这个结论不靠谱,最靠谱的是上面使用的exiftool。

相关链接

  1. ​http://www.codinghorror.com/blog/2005/12/progressive-image-rendering.html​
  2. ​http://www.zhangxinxu.com/wordpress/2013/01/progressive-jpeg-image-and-so-on/​
  3. ​http://www.yuiblog.com/blog/2008/12/05/imageopt-4/​
  4. ​http://hooopo.iteye.com/blog/620498​
  5. ​http://imageoptim.com/​

标签:减重,ImageMagick,Baseline,Progressive,网站,JPEG,com,progressive,图片
From: https://blog.51cto.com/u_3457306/5948020

相关文章

  • 使用ImageMagick为你的网站减重
    ImagesasapercentageofpageweightfortheAlexatop10globalwebsites  图片在网站所占的比重越来越重。更好的优化图片可以提高网站速度。减少宽带流量......
  • 网站打不开如何解决?教你4个方法搞定它!
    网站打不开如何解决?教你4个方法搞定它!网站如果打不开了,会影响正常的使用,并且对于SEO关键词排名还是有影响的,那么网站打不开如何解决?可能对于不懂技术的客户来说这是......
  • 北京博奥智源,分享网站运维需求说明
    项目技术及参数要求系统架构系统架构要求使用B/S技术,同时需要兼容手机端展示。部署方式校内本地化部署技术架构系统采用java+mysql数据库......
  • 保护网站安全一定要牢记这五点!
    在信息化高速发展的今天,无论是对于企业还是站长而言,保护网站的安全性都是重要的事情,因为网站不仅仅是企业的门面,更是收获客户的重要营销工具。那么如何有效的保护网站安......
  • 构建完美作品集网站十步走
    你有很多理由去建立自己的作品集。如果你是自由职业者,则你需要有个地方来汇报工作、方便他人联系。如果你是名学生(或者正在待业中),则有必要通过作品集告诉你的潜在客户你有......
  • 信息那么多,学一学如何从网站中提取目标数据
    当前,到网络中查找想要的信息是最大家普遍的行为之一,不管是工作调研还是单纯学习了解。与此同时,将查找的信息有效提取下来也是必不可少的环节,除了通用的复制粘贴,还有更多手段......
  • 服务器快速搭建AList集成网盘网站【宝塔面板一键部署AList】
    一,前言因为我的网盘里有很多的视频资源,他们分布在不同的网盘中,找起来非常的不方便,所以我使用Alist快速搭建了一个网盘合集在线网站,部署到了我的服务器上。效果图如下:(打码防......
  • 【卫朋】3000+ 字 | 2022年产品人必备的23个设计类网站(2.0版)
    卫朋丨第122篇原创文章阅读提示丨3061字5分钟常用资源,大家可先收藏资源在手,思路我有设计资源网站是产品人打基础的一个有效手段,是解答设计命题的思路参考。但资源诚可贵,实......
  • 【最新】网站下载工具,整站下载工具汇总
     【最新】网站下载工具,整站下载工具汇总整站下载,包括声音,图片,javascirpt等,下载之后可以在本地运行以下排序不分先后,以及是否好用 不过现在很多网站都加入了防爬虫的机制,以......
  • 本地IIS服务 | three.js网站如何设置默认为中文
    https://github.com/mrdoob/three.js下载zip压缩包(github下载网速慢的话,可以复制链接用迅雷试试)解压到C:\inetpub\wwwroot假设已经配置好网站http://localhost:898......