Centos5.8 安装 ImageMagick 6.8.9-3

下载最新的 ImageMagick-6.8.9-3.x86_64.rpm 直接prm -ivh 安装提示错误

	error: Failed dependencies:
	libHalf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
	libIex.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
	libIlmImf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
	libImath.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
	libltdl.so.3()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
	libfftw3.so.3()(64bit) is needed by ImageMagick-6.8.9-3.x86_64
	libfpx.so.1()(64bit) is needed by ImageMagick-6.8.9-3.x86_64
	libgs.so.8()(64bit) is needed by ImageMagick-6.8.9-3.x86_64
	liblzma.so.0()(64bit) is needed by ImageMagick-6.8.9-3.x86_64
	libwebp.so.4()(64bit) is needed by ImageMagick-6.8.9-3.x86_64
	libwmflite-0.2.so.7()(64bit) is needed by ImageMagick-6.8.9-3.x86_64

需要安装 OpenEXR-devel sudo yum install OpenEXR-devel 提示无此安装包,

查看现有的 yum repositories, 命令: yum repolist 没有rpmforge, 需要安装额外的rpm repository: http://repoforge.org 根据提示页 http://repoforge.org/use/, 下载针对Centos5的repository: x86_64 http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm 安装命令 rpm -i rpmforge-release-0.5.3-1.el5.rf.*.rpm 再执行 sudo yum install OpenEXR-devel 就可以了 然后 sudo yum install fftw3-devel (libfftw3) sudo yum install xz-libs (liblzma) 按ImageMagick 网站上的安装提示, 可以先安装 ImageMagick-devel, 将必备的包一次安装齐全, 然后再编译安装替换掉旧的 sudo yum install ImageMagick-devel 还是不行, 安装十全大补包!

sudo yum install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel

还是不行 最后, 以上的都是扯淡, 还是有两个so找不到, 最后发现, 最简单的方法原来是... 从源码编译...

tar -zxvf ImageMagick-6.8.9-3.tar.gz 
cd ImageMagick-6.8.9-3
./configure --prefix=/opt/ImageMagick-6.8.9-3
sudo make
sudo make install

安装完后, 在/opt/ 下建一个软链

sudo ln -s ImageMagick-6.8.9-3/ ImageMagick

还得把yum安装了的旧版本删掉

sudo yum remove ImageMagick ImageMagick-devel

安装PHP的 Imagick扩展

sudo /opt/php/bin/pecl install imagick

中间会提示输入ImageMagick的安装路径, 使用 /opt/ImageMagick 然后修改 php.ini, 把新的扩展加上 重启httpd发现没有启用, 用ls -Z一看还是selinux的问题, 用命令重置

sudo /sbin/restorecon imagick.so 然后重启就可以了

Updated 2018-03-16

命令行说明

复制代码
#举例
convert +profile '*' [src]{file}.{ext} -quality 80 -resize '280x140^>' -gravity Center -crop 280x140+0+0 +repage [out]{file}_280x140.{ext}
# 把一张图片按80的质量去压缩(jpg的压缩参数),同时按图片比例非强制缩放成不超过280x140的图片.居中裁剪280x140,去掉图片裁减后的空白和图片exif信息,通常这种指令是为了保证图片大小正好为280x140

参数说明
-quality   图片质量,jpg默认99,png默认75
-resize
  100x100      高度和宽度比例保留最高值,高比不变
  100x100^     高度和宽度比例保留最低值,宽高比不变
  100x100!      宽度和高度强制转换,忽视宽高比
  100x100>     更改长宽,当图片长或宽超过规定的尺寸
  100x100<     更改长宽 只有当图片长宽都超过规定的尺寸
  100x100^>   更改长宽,当图片长或宽超过规定的尺寸。高度和宽度比例保留最低值
  100x100^<   更改长宽,只有当图片长宽都超过规定的尺寸。高度和宽度比例保留最低值
  100             按指定的宽度缩放,保持宽高比例
  x100          按指定高度缩放,保持宽高比

-gravity NorthWest, North, NorthEast, West, Center, East,  SouthWest, South, SouthEast截取用的定位指令,定位截取区域在图片中的方位
-crop 200x200+0+0 截取用的截取指令 ,在用定位指令后,按后两位的偏移值偏移截取范围左上角的像素后,再按前两位的数值,从左上角开始截取相应大小的图片
+repage 去掉图片裁减后的空白
-dissolve 30 设定组合图片透明度dissolve示例
+/-profile * 去掉/添加图片exif信息
复制代码

常用命令

复制代码
convert +profile '*' [src]{file}.{ext} -quality 90 -resize '700>' /data/tony/watermark_1.png -gravity southeast -compose Dissolve -composite [out]{file}_1024x1024.{ext}

convert +profile '*' [src]{file}.{ext} /data/watermark_1.png -gravity southeast -geometry +10+10 -composite [src]{file}.{ext}

convert +profile '*' [src]{file}.{ext} -coalesce -resize '950x135>' [out]{file}_950x135.{ext}

convert +profile '*' [src]{file}.{ext} -resize '650x500>' miff:- | composite +profile '*' -dissolve 30 -gravity southeast /data/tony/watermark_1.png - [out]{file}_650x500.{ext}

convert [src]{file}.{ext} -quality 80 -resize '190>' -background white -gravity center -extent 190x +repage [out]{file}_width190.{ext}

# 将图片转化成长和宽不超过1024的图片
convert +profile "*" -quality 75 -resize 1024x1024 kit_new_pcb_back.jpg kit_new_pcb_back_s.jpg
复制代码

 

.

posted on   Milton  阅读(1798)  评论(0编辑  收藏  举报

编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示