Tag: imagemagick

  • 报错解决办法mogrify-im6.q16: attempt to perform an operation not allowed by the security policy `@t.txt' @ error/property.c/InterpretImageProperties/3706
  • 使用 ImageMagick 的 Convert 命令给图片添加水印
  • convert(ImageMagick)支持处理webp格式图片(解决报错:convert: Not a JPEG file)
  • imagemagick的convert命令实现图片的旋转、翻转、裁剪、裁切
  • identify 判断图片宽高相反解决办法

    identify 判断图片宽高相反解决办法

    identify 命令可以判定图片宽度高度信息 # identify 33.jpeg 33.jpeg JPEG 842×653 842×653+0+0 8-bit sRGB 139KB 0.000u 0:00.000 但实际上这个图片显示是相反的方向 宽653 高842 所以identify 这样判断图片的宽度和高度是相反的。什么原因呢? 其实并不是identify判断的有问题,而是没有取全图片的参数,图片的exif信息中有一项为orientation表示方向。 大白话解释就是你的宽高是从那个点开始计算的。 Exif的Orientation信息说明: 判断值: identify -format ‘%[exif:orientation]’ xxx.jpeg 输出结果为 6 可能出现的数值也就是 1,3,6,8 1和3分别未0和180度,不会颠倒宽高,只需要处理是6和8的情况。 解决方案: 用convert 命令,判断图片的方向是为6或8时,使用-auto-orient 把6 改为1 shell 代码如下: orientation1=`identify -format ‘%[exif:orientation]’ $i` echo “orientation1 is: ” $orientation1 if [ [ $orientation1 -eq 6 ]…

  • CentOS 6 / 7 : ImageMagick (CESA-2016:0726)安全漏洞修补

    CentOS 6 / 7 : ImageMagick (CESA-2016:0726)安全漏洞修补

    相关CVE编号: CVE: CVE-2016-3714 CVE-2016-3715 CVE-2016-3716 CVE-2016-3717 CVE-2016-3718 如果直接升级可能会有报错: Error unpacking rpm package ImageMagick-6.7.8.9-18.el7.x86_64 error: unpacking of archive failed on file /usr/bin/stream: cpio: rename 是因为文件系统保护导致,去掉i选项: chattr -i /usr/bin/animate chattr -i /usr/bin/compare chattr -i /usr/bin/composite chattr -i /usr/bin/conjure chattr -i /usr/bin/convert chattr -i /usr/bin/display chattr -i /usr/bin/identify chattr -i /usr/bin/import chattr -i /usr/bin/mogrify chattr -i /usr/bin/montage chattr…

  • 图片显示旋转问题Orientation参数

    图片显示旋转问题Orientation参数

    相机拍摄的图片会有exif信息,有时候会给我们带来烦恼。图片放到windows上可以正常显示,但是mac下确不行。另一种情况是mac先显示正常,传到服务器上就不行了,这是怎么回事呢?原来是exif信息在某些情况下,mac会根据这些信息自动帮你旋转了,有时候反而不是你想要的结果。 EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。 图像一旦被修改,Exif信息可能会永久丢失,故编辑 Exif 必须使用专门的软件。 可以理解成,用来记录照片属性和拍摄数据的。 (可以附加于jpeg等文件中,但png图片中不会有。) Orientation EXIF中,有一个 Orientation 参数,用于记录照片生成时的方向。 一共有8个值,分别是:1、2*、3、4*、5*、6、7*、8。 正常情况下,拍照只会出现是1、6、3、8这几个值。2、5、4、7相当于镜像,照像时不会出现这几种情况。1、6、3、8的效果分别是: 1:0度(比如正常情况下我是这样拍摄的) 6:逆时针90度回到正常 3:180度回到正常 8:顺时针90度回到正常 Mac上为什么会是正常的呢? Mac之所以会显示正常,是因为Mac的图片“预览”功能会自动根据Orientation参数处理照片方向。但实际上,照片是旋转的。 实际参数查看方法: 用Mac的预览的 工具 – 显示检查器 查看图片的EXIF 这里可以看到方向是6(逆时针旋转90度将回到正常) windows上默认的图片预览工具没有做处理,如果拍摄的时候是旋转的,那显示的也是旋转的。 在Mac上怎么转回来? 用Mac的“预览”功能打开,再Command + S保存,参数就改变了,上传的图片就正了。 于是, Orientation参数就从6(逆时针旋转90度回到正常)变为了1(正常)。 6变为1 利用专业的修改EXIF的工具

  • ImageMagick、imagick、ghostscript三者关系

    ImageMagick、imagick、ghostscript三者关系

    一、功能概述 ImageMagick是第三方的图片处理软件,功能要比GD强大。建议两者都安装,并不冲突。 imagick是php的一个扩展模块,它调用ImageMagick提供的API来进行图片的操作。 Ghostscript是一套建基于Adobe、PostScript及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件。 Ghostscript最初是以商业软件形式在PC市场上发售,并称之为“GoScript”。但由于速度太慢(半小时一版A4),销量极差。后来有心人买下了版权,并改在Linux上开发,成为了今日的Ghostscript。 已经从Linux版本移植到其他操作系统,如其他Unix、Mac OS X、VMS、Windows、OS/2和Mac OS classic。 ImageMagick无法直接实现pdf文档到图片的转换,需要借助于gostscript软件包 二、安装方式 1、编译安装ImageMagick # tar xf ImageMagick-6.8.9-9.tar.gz # cd ImageMagick-6.8.9-9 # ./configure –prefix=/usr/local/imagemagick # make && make install 编译安装完成之后记得配置./convert的环境变量 2、编译安装imagick # tar -xf imagick-3.2.0RC1.tgz # cd imagick-3.2.0RC1 # /usr/local/php/bin/phpize # ./configure –with-php-config=/usr/local/php/bin/php-config –with-imagick=/usr/local/imagemagick # make && make install 3、编译安装Ghostscript # tar xf ghostscript-9.02.tar.gz # cd…

  • 使用imagemagick拼接图片&Mac环境安装imagemagick及

    使用imagemagick拼接图片&Mac环境安装imagemagick及

    ImageMagick是一个免费的创建、编辑、合成图片的开源软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。  ImageMagick官网:http://www.imagemagick.org/  与ImageMagick功能类似的还有GraphicsMagick,GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。  GraphicsMagick官网:http://www.graphicsmagick.org/  基于我主要的需求是图片合成(多张图片合成一张图片),且ImageMagick官网有着直接的命令操作教程,所以优先考虑了使用ImageMagick,查看资料过程中发现GraphicsMagick在某些特性上优于ImageMagick,等后期在做考究,且GraphicsMagick衍生于ImageMagick,熟悉了IM,GM想必不在话下。 言归正传吧。 我使用的是mac机器,刚开始,我是按照官网的步骤下载tar包到本地,然后解压,再配置一些环境变量,后来在使用时候,总是报错。  报错主要是如下两种:  1 no decode delegate for this image format `JPEG’  2 Abort trap: 6 imagemagick  针对第一种错误,搜索资料大多要求你去下载jpeg的delegate,针对第二种错误,却基本找不到方案。 无奈,只好按照官网上推荐的homebrew方式来安装了。 homebrew是啥呢? 可以参考这里https://brew.sh/ 通过这种方式成功安装且可以正常使用。 步骤1:下载XQuartz-2.7.11.dmg 下载地址:https://www.xquartz.org/  步骤2:安装homebrew  shell中执行如下命令  /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”  步骤2 要在非root用户下执行 步骤3 执行命令  brew install imagemagick 至此,imagemagick已经成功安装。  homebrew方式安装的imagemagick路径默认在/usr/local/Cellar路径下 使用imagemagick拼接图片:  执行如下命令:将 a.jpg 放到test.jpg 图片的中间位置(center控制)并保存为b_over.gif格式  composite -gravity center a.jpg…