[ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjure ]

convert:转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。
identify:描述一个或较多图像文件的格式和特性。
mogrify:按规定尺寸*一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一个不同的图像文件。
composite:根据一个图片或多个图片组合生成图片。
montage:创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。
compare:在算术上和视觉上评估不同的图片*其它的改造图片。
display:如果你拥有一个X server的系统,它可以按次序的显示图片
animate:利用X server显示动画图片
import:在X server或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。
conjure:解释执行 MSL (Magick Scripting Language) 写的脚本。

GraphicsMagick基本操作

显示图像文件详细信息

gm identify a.jpg

更改当前目录下*.jpg的尺寸大小,并保存于目录.thumb里面
gm mogrify -output-directory .thumbs -resize 320x200 *.jpg

将三幅图像和并为一副图像
gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm image3.ppm concatenated.miff

显示图像
gm display ‘vid:*.jpg’

格式转换
gm convert a.bmp a.jpg
gm convert a.bmp a.pdf(转换为pdf)

调整图像dpi和大小
gm convert -density 288 -geometry 25% image.gif image.gif
(缩小为原先的1/4,并且dpi为288)

.转换为640x480的图像

gm convert -resize 640x480 image.gif image.gif

在图像上添加文字

gm convert -font Arial -fill blue -pointsize 18 -draw “text 10,10 ‘your text here’” test.tif test.png

从gif文件中抽取第一帧

gm convert “Image.gif[0]” first.gif

.建立gif图像

gm convert -delay 20 frame*.gif animation.gif
让动画循环50次

gm convert -loop 50 frame*.gif animation.gif
对每一帧手动指定延时

gm convert -delay 20 frame1.gif -delay 10 frame2.gif -delay 5 frame3.gif animation.gif

截屏
gm import a.jpg
用鼠标点击所要截取的窗口,或者选择截屏区域,保存为a.jpg

gm import -frame a.jpg
保留窗口的边框

GraphicsMagick常用管理命令

  • 查看版本后安装情况:gm identify -version

结果::打印出信息

  • 识别图片:gm identify

如: gm identify 100CANON-1/IMG_4108.JPG
结果:IMG_4108.JPG JPEG 3648x2736+0+0 DirectClass 8-bit 2.5M 0.000u 0:01

  • 识别图片(高级):gm identify -verbose

如:gm identify -verbose 4.png
结果:打印出很多信息。

GraphicsMagick缩放比例的精准控制

原始图片是input.jpg,尺寸:160x120

  • 只缩小不放大
    gm convert input.jpg -resize “500x500>” output_1.jpg
    加了>,表示只有当图片的宽与高,大于给定的宽与高时,才进行“缩小”操作。
    生成的图片大小是:160x120,未进行操作
    如果不加>,会导致图片被比等放大。

  • 等比缩图 (缺点:产生白边)
    gm convert input.jpg -thumbnail “100x100” output_1.jpg
    生成的图片大小是:100x75

  • 非等比缩图,按给定的参数缩图(缺点:长宽比会变化)

gm convert input.jpg -thumbnail “100x100!” output_2.jpg
生成的图片大小是:100x100

  • 裁剪后保证等比缩图 (缺点:裁剪了图片的一部分)

gm convert input.jpg -thumbnail “100x100^” -gravity center -extent 100x100 output_3.jpg
生成的图片大小是:100x100,还保证了比例。不过图片经过了裁剪,剪了图片左右两边才达到1:1

  • 填充后保证等比缩图 (缺点:要填充颜色,和第一种方法基本一样)

gm convert input.jpg -thumbnail “100x100” -background gray -gravity center -extent 100x100 output_4.jpg
生成的图片大小是:100x100,还保证了比例,同时没有对图片进行任何裁剪,缺失的部分按指定颜色进行填充。

  • 裁剪、填充相结合 (缺点:最差的方法)

gm convert input.jpg -thumbnail “10000@ -background gray -gravity center -extent 100x100 output_5.jpg
生成的图片大小是:100x100,这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。

  • 位深度32 转为24

IE6,7,8不支持显示“位深度32”的图片,但IE9、火狐、谷歌浏览器就可以显示。
使用GM,把“位深度32”的图片转换为“位深度24”的图片
输入图片zzz.jpg就是“位深度32”的图片,输出图片 zzz_out.jpg就是“位深度24”的图片
gm convert -resize 100x100 -colorspace RGB zzz.jpg zzz_out.jpg
转完后,图片的颜色会有轻微变化。

在浏览器上选择图片裁剪的坐标

=================================
如果想让用户手动裁剪头片的话,就是在浏览器上选择图片裁剪的坐标,imgAreaSelect是个好选择。
imgAreaSelect is a jQuery plugin for selecting a rectangular area of an image.
http://odyniec.net/projects/imgareaselect/

Jmagick锐化图片功能


ImageInfo info = new ImageInfo(filepath+”pics.jpg”);
MagickImage image = new MagickImage(info);
MagickImage sharpened = image.sharpenImage(1.0, 5.0);
sharpened.setFileName(filepath+”sharpened.jpg”);
sharpened.writeImage(info);
主要是函数sharpenImage(double arg0, double arg1);
建议arg0=1.0 arg1=5.0
arg0为半径 arg1为阙值
这样做的目的:
明显会使图片变得清晰好看。

JMagick 常用技巧


ImageMagick中使用+profile “*” 删除图片中不存储附加信息.

JMagick中,使用MagickImage类上的profileImage(“*”, null)方法,删除图片中不存储附加信息.

删除图片中的ICC,ICM, IPTC,8bim等信息

ImageMagick中使用-quality控制图片的品质,

JMagick中,使用ImageInfo类上的setQuality(80)方法,控制图片的品质

在Web应用(Resin,Tomcat)使用ImageMagick


如果要在Web应用(Resin,Tomcat)使用ImageMagick,

需要再运行时加入参数: -Djmagick.systemclassloader=no

或者在程序中写入:System.setProperty(“jmagick.systemclassloader”, “no”);

GraphicsMagick命令的更多相关文章

  1. ImageMagick简介、GraphicsMagick、命令行使用示例

    http://elf8848.iteye.com/blog/382528 ImageMagick资料 ------------------------------------------------- ...

  2. graphicsMagick 文档

    ImageMagick资料 ---------------------------------------------------------------------------- ImageMagi ...

  3. Java资源大全中文版(Awesome最新版)(转载)

    原文地址:http://www.cnblogs.com/best/p/5876559.html 目录 业务流程管理套件 字节码操作 集群管理 代码分析 编译器生成工具 构建工具 外部配置工具 约束满足 ...

  4. Github优秀java项目集合(中文版) - 涉及java所有的知识体系

    Java资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容 ...

  5. ImageMagick资料

    ImageMagick资料 ---------------------------------------------------------------------------- ImageMagi ...

  6. 史诗级Java资源大全中文版

    本文来自GitHub 上 Awesome - java 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具.数据库.框架.模板.安全.代 ...

  7. Java 程序员必须收藏的资源大全

    Java 程序员必须收藏的资源大全 Java(27) 古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用. Apache Ant:基于XML的构建管理工具.官网 cglib:字节码 ...

  8. 【转载】Java资源大全中文版

    Java资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容 ...

  9. GraphicsMagick的命令行使用示例

    GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装.GM更有效率.GM的手册非常丰富GraphicsMagick的命令与I ...

随机推荐

  1. 注册COMDLG32.OCX方法

    1.将下载的comdlg32.ocx文件拷贝到C:\Windows\SysWOW64(32位电脑为C:\Windows\System32)文件夹中. 2.按win+x打开快捷命令选项菜单: 再按“A” ...

  2. H264视频压缩算法

    H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264以及ffmpeg等开源库的推出, 大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使 ...

  3. Win10系列:C#应用控件基础23

    Telerik UI Controls for Windows 8 Telerik UI Controls for Windows 8是一套为创建Windows UWP应用而设计的工具集,开发人员可以 ...

  4. 微信https抓包,不同安卓版本、微信版本对证书的要求

    安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书 安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书 安卓系统 7.0 以上版本,微信 7.0 以上版本, ...

  5. VM for Linux 版本的Bundle格式文件的安装

    VM for Linux 版本的安装步骤: 下面链接下载VM程序包 : https://www.vmware.com/products/workstation-pro/workstation-pro- ...

  6. Bitmap每个像素值由指定的掩码决定

    bBitmap每个像素值由指定的掩码决定 写了一个小工具来转换Bitmap彩色图片的不同位数. 程序的逻辑是拼接: Bitmap文件头 + Bitmap信息头 + Bitmap数据 在RGB888转换 ...

  7. 清除微信小程序的缓存

    小程序会在本地存储数据,当服务器数据更新后,通常在小程序上显示的还是旧的数据,点击右上角的关闭按钮,再次打开小程序同样没有更新. 怎样才能完全清除小程序的缓存数据? 删除小程序的方法是: 1.第一步: ...

  8. 开始一个django项目的流程

    1.明确开发站点的主题,(即此站点的作用), 确定站点的各种功能,需求. 2.优先设计数据库. 数据库的设计要合理,不能想当然的设计,最好能够以表格的形式展现出来,避免以后遗忘,也避免内容的重复. 3 ...

  9. 2019-04-17-day034-线程与数据共享

    内容回顾 锁 互斥锁 能够保护数据的安全性 保证对于数据的修改操作同一时刻多个进程只有一个进程执行 进程数据不安全 : 同时修改文件/数据库/其他共享资源的数据 ###队列 -- 实现了进程之间的通信 ...

  10. 激活WIN10系统

    打开cmd slmgr /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T slmgr /skms kms.xspace.in slmgr /ato