zoukankan      html  css  js  c++  java
  • 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

    .

  • 相关阅读:
    LeetCode(111) Minimum Depth of Binary Tree
    LeetCode(108) Convert Sorted Array to Binary Search Tree
    LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode(105) Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode(99) Recover Binary Search Tree
    【Android】通过经纬度查询城市信息
    【Android】自定义View
    【OpenStack Cinder】Cinder安装时遇到的一些坑
    【积淀】半夜突然有点想法
    【Android】 HttpClient 发送REST请求
  • 原文地址:https://www.cnblogs.com/milton/p/4215127.html
Copyright © 2011-2022 走看看