`
dcj3sjt126com
  • 浏览: 1823137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • IOS
 
阅读更多

以前写过一篇博客《使用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/
分享到:
评论

相关推荐

    ImageMagick7.0.8 win64 16安装包下载。使用moviepy抛ImageMagick异常问题解决

    使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,...

    ImageMagick命令使用文档

    ImageMagick命令使用文档

    ImageMagick-7.0.11-0.tar.gz

    ImageMagick

    ImageMagick7.0.8 win64 16通道像素版本.rar

    使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,...

    ImageMagick.tar.gz

    使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,...

    ImageMagick使用手册

    ImageMagick, JMagick安装、配置及使用 使用JMagick压缩图片大小尺寸 生成高品质缩略图,jmagick使用指南

    ImageMagick使用手册-英文原版

    ImageMagick英文原版参考手册,附有一个...特别对于ImageMagick内置的批处理语言Conjure有最详细的介绍.在其他地方我都没有看到过. ImageMagick + Conjure是批处理图像的终极工具 虽然本书是英文原版,但非常通俗易懂

    Linux系统的imagemagick 7.1.0,支持exr格式转换

    ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。 由本人手动编译,添加了exr格式的...

    ImageMagick-6.9.7-10.tar.xz

    ImageMagick

    ImageMagick

    利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存,对图片的操作,即可以通过...

    Java图片处理解决方案:ImageMagick快速入门教程.docx

    Java图片处理解决方案:ImageMagick快速入门教程.docx

    WINDOWS下thinkphp5.0+php 7.0使用ImageMagick+Ghostscript把网页面内容转化为png图片

    windows server 2012 完整的扩展dll+版本适合的ImageMagick压缩包+Ghostscript安装包+thinkphp5的测试代码

    ImageMagick v7.0.7-16

    ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。它可以读取、转换、写入多种格式的...

    ImageMagick-7.0.10-25-Q16-HDRI-x64-dll.exe

    使用ImageMagick的®创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。ImageMagick可以调整图像的大小,...

    使用ImageMagick生成水印的脚本.txt

    使用ImageMagick生成水印的JavaScript脚本

    iOS基于ImageMagick的图片压缩<不支持模拟器>

    2、ImageMagick已打包为iOS静态库 3、项目中如何导入ImageMagick框架 4、一句代码调用压缩函数,代码实例如下: [[WZMQualityHandle shareHandle] compressImage:path quality:0.5 progress:^(NSString *outPath, ...

    ImageMagick-6.9.3-7-vc14-x64

    是一个免费的创建、编辑、合成图片...ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。

    图片处理神器ImageMagick-6.9.3-7-Q16-x86-dll及对应的php扩展

    ImageMagick是一个免费的创建、编辑、...ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。

Global site tag (gtag.js) - Google Analytics