在实例的生产环境中有时候我们的网站会用到比较小的图片,但是提供的图片相对来说比较大。像我之前文章中,我做了ImageMagick的安装和简单的使用实例,但是处理1M左右大小的图片最后还回有200k左右大小,当然对于生产环境还不尽满意。这时候就需要通过改变图片格式的方式来改变图片的大小。

  参照之前的文章:http://xiaoxiaozhou.blog.51cto.com/4681537/1903499,需要做些补充说明。我们如果想要把png格式的图片转换为jpg格式的图片,需要做哪些工作:

  1、编译png库支持源码

  2、编译jpg库支持源码

  3、编译ImageMagick源码


这里需要注意的是编译图片支持库源码一定要在编译ImageMagick的前边进行

编译环境

编译png库支持源码

# tar -zxf jpegsrc.v6b.tar.gz 

# cd jpeg-6b/

# ./configure 

# make && make install


编译jpg库支持源码

# tar -zxf libpng-1.5.8.tar.gz 

# cd libpng-1.5.8/

# ./configure

# make && make install


编译ImageMagick源码

# tar -zxf ImageMagick.tar.gz

# cd ImageMagick-7.0.5-0/

# ./configure --prefix=/apps/ImageMagick --enable-share --enable-static LDFLAGS="-L/usr/lib64" CPPFLAGS="-I/usr/include"


显示的对于png和jpg支持的相关信息

 JPEG v1           --with-jpeg=yes             yes

 PNG               --with-png=yes              yes


# make && make install


# ln -s /apps/ImageMagick/bin/convert /usr/bin/convert


压缩图片示例:

要处理的图片大小

# du -sh BG10.png 

1.2M    BG10.png


处理图片,格式分别是png和jpg,其他条件相同

# convert BG10.png -resize 500 test1/BG100.png

# convert BG10.png -resize 500 test1/BG100.jpg


对比处理结果

test1 # du -sh *

76K     BG100.jpg

208K    BG100.png


可以发现jpg格式的图片会小更多