图片格式转换之ImageMagick

项目中需要实现一些图片文件到TIFF文件的转换,去网上下载了一些第三方软件。

好的软件需要收费,免费的存在各种问题。

自己动手,丰衣足食!

众里寻他千百度,蓦然回首,那人就是ImageMagick。

官网链接:http://www.imagemagick.org/script/index.php

ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over ) including PNG, JPEG, JPEG-, GIF, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

以上的话引用自官网,强大的让人心跳,而且是开源的!感谢开源!感谢Linux!

一、下载源码。

二、执行./configure,发现不支持PDF转换,缺少库的支持。

. pdf库:ftp://ftp.gnu.org/gnu/ghostscript
. 编译pdf库,提示lcms版本过旧
. lcms库:http://www.littlecms.com/index.html
. 编译lcms2库,通过。
. 编译pdf库,通过。 一个小插曲:ghostscript编译不出so文件。
解决办法:make so && make soinstall,搞定。

三、后来发现一个更棒的下载依赖库的地方。

http://www.imagemagick.org/download/delegates/

这是官网提供的库。

四、重新./configure,编译,安装。

 Delegate Library Configuration:
BZLIB --with-bzlib=yes no
Autotrace --with-autotrace=no no
DJVU --with-djvu=yes no
DPS --with-dps=yes no
FFTW --with-fftw=yes no
FlashPIX --with-fpx=yes no
FontConfig --with-fontconfig=yes no
FreeType --with-freetype=yes yes
Ghostscript lib --with-gslib=no no
Graphviz --with-gvc=yes no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes yes
LCMS --with-lcms=yes no
LQR --with-lqr=yes no
LTDL --with-ltdl=yes no
LZMA --with-lzma=yes no
Magick++ --with-magick-plus-plus=yes yes
OpenEXR --with-openexr=yes no
OpenJP2 --with-openjp2=yes no
PANGO --with-pango=yes no
PERL --with-perl=no no
PNG --with-png=yes yes
RAQM --with-raqm=yes no
RSVG --with-rsvg=no no
TIFF --with-tiff=yes yes
WEBP --with-webp=yes no
WMF --with-wmf=yes no
X11 --with-x= yes
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes

configure执行完毕,大致看到这样的信息,yes就意味着已经支持的文件或者库格式。

no就是缺少相关库的支持或者信息,还有一个原因,编译开关未打开。

例如安装gslib库以后,./configure --with-gslib才能增加对pdf的处理支持。

五、简单的测试。

convert apple.jpg apple.png

这就实现了jpg图片到png图片格式的转换!

对于非图像领域的工作者来讲,能这样转换就足够了。

上一篇:LInux 文件系统 tmpfs 分区不显示解决


下一篇:【bzoj 4176】 Lucas的数论 莫比乌斯反演(杜教筛)