您的位置 首页 java

图片处理程序之ImageMagick

图片处理程序之ImageMagick

Verchielxy原创

ImageMagick简介

ImageMagick是一套功能强大、稳定而且开源的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件, 包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick, 你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作, 并将操作的结果以相同格式或其它格式保存,对图片的操作, 即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。 同时ImageMagick提供了一个高质量的2D工具包,部分支持SVG。ImageMagic的主要精力集中在性能, 减少bug以及提供稳定的API和ABI上。

ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。 图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转。 ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。支持大多数的操作系统。

ImageMagick 使用前提

ImageMagick是一款带有bin命令的没有视图话的图片处理程序,主要是为程序设计上面准备的。

ImageMagick不能直接跟其他变成语言交互,本身有各种语言提供的官方mod,也就是和变成语言交互用的扩展包。

我们这里已php为例,来讲解该怎么使用它。

ImageMagick 安装教程

CentOS使用yum安装:

yum install ImageMagick ImageMagick-devel ImageMagick-perl 

Ubuntu使用apt-get安装:

apt-get install ImageMagick ImageMagick-devel ImageMagick-perl 

MacOS使用brew安装:

brew tap josegonzalez/homebrew-php 
brew install josegonzalez/php/php70-imagick --build-from-source 

如果有使用php-imagick扩展的coder,记得要重启

systemctl restart php-fpm 
systemctl restart nginx 

使用方式

php语言可以直接使用exec调用命令行的方式来使用,也可以使用其他的外置扩展包来直接使用此软件。比如php可以直接装php-imagick扩展来直接实现ImageMagick相关的功能。

ImageMagick 之 convert 命令

convert命令:转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。

crop 参数,截取图片使用

convert -crop [需要截取宽x需要截取高] + [截取起点横坐标+截取起点纵坐标]convert -gravity center 

resize 参数,缩放图片,如果仅给定宽或者高,如“宽x”或“x高”形式的参数(“x高”与“宽x高”的效果是一样的),则以已知参数为基准按比例改变尺寸。

convert -resize [宽] x [高]convert -resize 400x400 

colors 参数,颜色数,设定图片采用的颜色数,如果是生成png或gif图片应指定这个参数

convert -colors [数字]convert -colors 100 

quality 参数,图片质量,设定jpeg图片输出质量,推荐采用80,此命令仅用于输出格式是jpg的情况,不应省略,省略的话默认质量是95,生成图片过大

convert -quality [百分比]convert -quality 80% 

profile 参数,设置图片Exif信息,图片中不存储Exif信息,必须使用,否则生成图片过大

convert +profile [字符串]convert +profile "*"convert +profile "这里是注释" 

monochrome 参数,黑白化

convert -monochrome 

negate 参数,图片反色(底片化)

convert -negate 

flip 参数,图片上下翻转

convert -flip 

flop 参数,图片左右翻转

convert -flop 

paint 参数,油画效果

convert -paint [数字]convert -paint 4 

charcoal 参数,炭笔效果

convert -charcoal [数字]convert -charcoal 2 

background 参数,背景颜色

convert -background [色值]convert -background #00000convert -background none 

rotate 参数,图片旋转,自动添加白色背景,可以使用background参数去掉背景

convert -rotate [色值]convert -rotate 90 

border 参数,图片加边框

convert -border [数值]×[数值]convert -border 60x60 

bordercolor 参数,边框颜色

convert -bordercolor [色值]convert -bordercolor "#000000" 

composite 参数,合成图片

convert -composite [图片地址1] [图片地址2] [合成图片地址]convert -composite -composite /home/test.png /home/logo.png /home/imgwatermark.png 

gravity 参数,方向点(结合-composite等命令用) (southwest、southeast、northwest、northeast)

convert -gravity [southwest、southeast、northwest、northeast]convert -gravity southwest 

geometry 参数,距离方向点的距离(结合-composite等命令用)

convert -geometry [±数字][±数字]convert -geometry +5+10 

ImageMagick composite命令

composite命令:根据一个图片或多个图片组合生成图片

gravity 参数,方向点(结合-composite等命令用) (southwest、southeast、northwest、northeast)

composite -gravity [ southwest | southeast | northwest | northeast ]composite -gravity southwest 

geometry 参数,距离方向点的距离(结合-composite等命令用)

composite -gravity [±数字][±数字]composite -geometry +5+10 

文章来源:智云一二三科技

文章标题:图片处理程序之ImageMagick

文章地址:https://www.zhihuclub.com/199981.shtml

关于作者: 智云科技

热门文章

网站地图