本文转载自:http://zlb1986.iteye.com/blog/778054

转载: 
强大的convert命令 
convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型,下面举几个例子: 
  convert  xxx.jpg  xxx.png   将jpeg转成png文件 
  convert  xxx.gif   xxx.bmp  将gif转换成bmp图像 
  convert  xxx.tiff    xxx.pcx   将tiff转换成pcx图像 
还可以改变图像的大小: 
  convert -resize 1024x768  xxx.jpg   xxx1.jpg    将图像的像素改为1024*768,注意1024与768之间是小写字母x 
  convert -sample 50%x50%  xxx.jpg  xxx1.jpg   将图像的缩减为原来的50%*50% 
旋转图像: 
convert -rotate 270 sky.jpg sky-final.jpg      将图像顺时针旋转270度 
使用-draw选项还可以在图像里面添加文字: 
convert -fill black -pointsize 60 -font helvetica -draw 'text 10,80 "Hello, World!" ‘  hello.jpg  helloworld.jpg 
在图像的10,80 位置采用60磅的全黑Helvetica字体写上 Hello, World! 
convert还有其他很多有趣和强大的功能,大家不妨可以试试。

待编辑。。。

几个简单的应用。

  1、批量图像格式转换

  如果想将某目录下的所有jpg文件转换为png文件,只要在命令行模式下输入:

  for %f in (*.jpg) do convert “%f” “%~nf.png”

  2、对所有图像进行同一操作

  譬如,批量生成某目录下所有PNG图像文件的缩略图(大小为80×40):

  for %f in (*.png) do convert “%f” -sample 80×40 “%~nf_sample.png”

  类似的,将某目录下所有PNG图像旋转90度的操作为:

  for %f in (*.png) do convert “%f” -rotate 90 “%~nf_rotate.png”

  还可以进行批量裁剪、淡化、抖动、炭化、加边框、圆角等等一系列操作,具体可参考: linux/l-graf/index.html">http://www.ibm.com/developerworks/cn/linux/l-graf/index.html

  http://linux.chinaunix.net/docs/2006-12-15/3481.shtml

  3、在图像上加上文字说明

  如果你有大量图片需要发布,在所有图片上加上版权说明是很明智的做法。用ImgeMagick可以很容易的实现:

  convert 1.png -fill white -pointsize 13 -draw “text 10,15 ‘lifesinger 2006'” 2.png

  可以用-font指定字体,这时需要安装Ghostscript支持: http://www.cs.wisc.edu/~ghost/

  还可以用composite命令在所有图片上加上水印,有兴趣的看这里:

  http://www.imagemagick.org/script/composite.php

  —————————————————————————————————————————–

  convert

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

  identify

  描述一个或较多图像文件的格式和特性。

  mogrify

  按规定尺寸制作一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一个不同的图像文件。

  composite

  根据一个图片或多个图片组合生成图片。

  montage

  创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。

  compare

  在算术上和视觉上评估不同的图片及其它的改造图片。

  display

  如果你拥有一个X server的系统,它可以按次序的显示图片

  animate

  利用X server显示动画图片

  import

  在X server或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。

  conjure

  解释执行 MSL (Magick Scripting Language) 写的脚本。

  convert -sample 100×20 input.jpg output.jpg

  上述命令生成一个100×20的缩略图

  更好的方法是用等比例缩放,像这样,统一生成1/4的缩略图

  convert -sample 25%x25% input.jpg output.jpg

  如果写成脚本,就是像这个样子

  for img in `ls *.jpg`

  do

  convert -sample 25%x25% ${img} thm${img}

  done

  加注图片

  convert -font fonts/font.ttf -stroke color -fill color -pointsize size

  -draw ‘text 10,10 “String”‘ input.jpg output.jpg

  -font 指定字体,因为这样我加注文字,

  -stroke 描边用的颜色,

  -fill 填充用的颜色,这里用none就可以画出空心字了,

  -pointsize 加注字体大小,像素数,

  -draw 是用来画,这里是文字,下面的位置10,10 是以图片左上角为原点坐标的

  向图像添加文本注释

  有时您需要向图像添加文本注释。例如,假设您的公司拥有标准的名片图像,并希望在将名片发送到打印机之前将每个雇员的详细信息都添加到名片上面。另一个示例是为通过您网站上的在线课程的用户生成表示证书(presentation certificate)。

  您可以使用下列命令行,为该图注释一些标识信息:

  convert -font helvetica -fill white -pointsize 36

  -draw ‘text 10,50 “Floriade 2002, Canberra, Australia”’

  floriade.jpg comment.jpg

  迄今为止,这是我在本文中所展示的最复杂的 convert 命令行了,因此我将花些时间来解释它。

  -font helvetica 将注释的字体设置为 Helvetica。也可以在此处指定字体文件的路径。这个示例给图像添加了标记,这样未经许可其它网站就不能再使用该图像了,但它是使用位于非标准位置的字体来完成该任务的:

  convert -font fonts/1900805.ttf -fill white -pointsize 36

  -draw ‘text 10,475 “stillhq.com”’

  floriade.jpg stillhq.jpg

  -fill white 用白色而不是标准的黑色来填充字母。

  -pointsize 36 以点为单位指定字母的大小。一英寸等于 72 点。

  -draw ‘text 10,50 “…”’ 是一组绘图命令,在本例中是移动到位置 10, 50,然后绘制出双引号中的文本。使用单引号是因为如果需要绘制多个字,则绘图命令中需要使用双引号,而您不能在双引号中再用双引号。

  在一次 ImageMagick 调用中执行多条命令

  您已经看到了将命令与注释示例联系起来的示例。但是,可以将本文中提到的任意 ImageMagick 命令链接起来。例如,也许我们希望制作某图像的缩略图,然后对它应用发散。在发散发生之后,我们将应用炭笔效果:

  convert -sample 25%x25% -spread 4

  -charcoal 4 input.jpg output.jpg

  用convert给图片加边框

  convert -raise 5×5 input.jpg output.jpg

  convert +raise 5×5 input.jpg output.jpg

  以上命令分别用-,+边缘颜色的来达到处理边缘的效果!

  convert -bordercolor red -border 5×5 input.jpg output.jpg

  简单的加上5个像素宽的红边!

  convertconvert顾名思义就是对图像进行转化,它主要用来对图像进行格式的转化,同时还可以做缩放、剪切、模糊、反转等操作。

  格式转化比如把 foo.jpg 转化为 foo.png:

  convert foo.jpg foo.png如果要想把目录下所有的jpg文件都转化为gif,我们可借助于shell的强大功能:

  find ./ -name "*.jpg" -exec convert {} {}.gif \;转化后的gif名称为 *.jpg.gif ,这样看起来不太自然,没关系,我们可以再来一步:

  rename .jpg.gif .gif *.jpg.gif本来,我想在find的时候,用basename来取得不带后缀的文件名的,这样就不会形成.jpg.gif这种丑陋的名子了,可是不知道为什么,就是不行,如果你知道的话,告诉我或者,你也可用shell script来完成上述的操作:

  for i in *.jpg

  do

  convert $i `basename $i .jpg`.gif

  done我们还可用mogrify来完成同样的效果:

  mogrify -format png *.jpg上面命令将会把目录下面所有的jpg文件转化为png格式。convert还可以把多张照片转化成pdf格式:

  convert *.jpg foo.pdf大小缩放比如我们要为一个普通大小的图片做一个缩略图,我们可以这样

  convert -resize 100x100 foo.jpg thumbnail.jpg你也可以用百分比,这样显的更为直观:

  convert -resize 50%x50% foo.jpg thumbnail.jpgconvert会自动地考虑在缩放图像大小时图像的高宽的比例,也就是说着新的图像的高宽比与原图相同。我们还可以批量生成缩略图:

  mogrify -sample 80x60 *.jpg注意,这个命令会覆盖原来的图片,不过你可以在操作前,先把你的图片备份一下。

  加边框在一张照片的四周加上边框,可以用 -mattecolor 参数,比如某位同志牺牲了,我们需要为他做一张黑边框的遗像,可以这样:

  convert -mattecolor "#000000" -frame 60x60 yourname.jpg rememberyou.png其中,”#000000″是边框的颜色,边框的大小为60×60你也可以这样加边框:

  convert -border 60x60 -bordercolor "#000000" yourname.jpg rememberyou.png在图片上加文字

  convert -fill green -pointsize 40 -draw 'text 10,50 "charry.org"' foo.png bar.png上面的命令在距离图片的左上角10×50的位置,用绿色的字写下charry.org,如果你要指定别的字体,可以用-font参数。

  模糊高斯模糊:

  convert -blur 80 foo.jpg foo.png-blur参数还可以这样-blur 80×5。后面的那个5表示的是Sigma的值,这个是图像术语,我也不太清楚,总之,它的值对模糊的效果起关键的作用。

  翻转上下翻转:

  convert -flip foo.png bar.png左右翻转:

  convert -flop foo.png bar.png反色形成底片的样子:

  convert -negate foo.png bar.png单色把图片变为黑白颜色:

  convert -monochrome foo.png bar.png加噪声

  convert -noise 3 foo.png bar.png油画效果我们可用这个功能,把一张普通的图片,变成一张油画,效果非常的逼真

  convert -paint 4 foo.png bar.png旋转把一张图片,旋转一定的角度:

  convert -rotate 30 foo.png bar.png上面的30,表示向右旋转30度,如果要向左旋转,度数就是负数。

  炭笔效果

  convert -charcoal 2 foo.png bar.png形成炭笔或者说是铅笔画的效果。

  散射毛玻璃效果:

  convert -spread 30 foo.png bar.png漩涡以图片的中心作为参照,把图片扭转,形成漩涡的效果:

  convert -swirl 67 foo.png bar.png凸起效果用-raise来创建凸边:

  convert -raise 5x5 foo.png bar.png执行后,你会看到,照片的四周会一个5×5的边,如果你要一个凹下去的边,把-raise改为+raise就可以了。其实凸边和凹边看起来区别并不是很大。

  其他其他功能都是不太常用的,如果你感兴趣的话,可以看它的联机文档

  importimport是一个用于屏幕截图的组件,下面列出的是我们常用的功能,其他的功能,你参考它的man好了。

  截取屏幕的任一矩形区域

  import foo.png在输入上述的命令后,你的鼠标会变成一个十字,这个时候,你只要在想要截取的地方划一个矩形就可以了

  截取程序的窗口

  import -pause 3 -frame foo.png回车后,用鼠标在你想截的窗口上点一下即可。参数-frame的作用是告诉import,截图的时候把目标窗口的外框架带上,参数 -pause的作用很重要,你可以试着把它去掉,对比一下,你会发现,目标窗口的标题栏是灰色的,pause就是让import稍微延迟一下,等你的目标窗口获得焦点了,才开始截图,这样的图才比较自然。

  截取一个倾斜的窗口如果想让你的截图比较cool,你可以把截取一个倾斜的窗口,方法如下:

  import -rotate 30 -pause 3 -frame foo.png截取整个屏幕

  import -pause 3 -window root screen.png注意,暂停了3秒钟,你需要在3秒钟内切换到需要截取的画面噢。

  displaydisplay应该是我们使用的最为频繁的图像处理软件了,毕竟,还是看的多

  显示图片

  display foo.png如果你要显示多个文件,你可以使用通配符

  display *.png幻灯片

  display -delay 5 *每隔5个百分之秒显示一张图片

  一些快捷键

  space(空格): 显示下一张图片

  backspace(回删键):显示上一张图片

  h: 水平翻转

  v: 垂直翻转

  /:顺时针旋转90度

  \:逆时针旋转90度

  >: 放大

  <: 缩小

  F7:模糊图片

  Alt+s:把图片中间的像素旋转

  Ctrl+s:图象另存

  Ctrl+d:删除图片

  q: 退出

Linux之convert命令【转】的更多相关文章

  1. Linux之convert命令

    Linux之convert命令 强大的convert命令 convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型,下面举几个例 ...

  2. Linux使用imagemagick的convert命令压缩图片、节省服务器空间

    一.安装: sudo apt-get install imagemagick 二.说明 imagemagick的命令convert可以完成此任务,其参数-resize用来改变图片尺寸,可以直接指定像素 ...

  3. linux convert命令安装及使用

    linux下ImageMagick安装和使用 检查系统有无安装ImageMagick shell> rpm -qa | grep ImageMagick 没有就开始安装ImageMagick s ...

  4. linux下使用convert命令修改图片分辨率【转】

    本文转载自:http://blog.csdn.net/mybelief321/article/details/9969949 Convert的resize子命令应该是在ImageMagick中使用较多 ...

  5. 【转】linux 中dd命令使用详解

    原文网址:http://xiaozhuang.blog.51cto.com/4396589/850657 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究 ...

  6. Linux:常用命令【转载】

    转载于:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架 ...

  7. linux中convert用法

    转: 强大的convert命令 convert命令可以用来转换图像的格式,支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等类型,下面举几个例子:   convert  ...

  8. Linux下history命令用法

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...

  9. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

随机推荐

  1. maven私服搭建

    一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...

  2. 如何添加Tomcat为启动服务

    tomcat8.0, 可以用startup.bat启动, 但注销又不能启动服务,但现在的系统不知出了什么问题 ? 答 1.我这个是zip版本的,所以里面有一个service.bat的文件,所以很简单 ...

  3. excel2003出现“向程序发送命令时出现错误”解决方法

    电脑已经预装了office2010,因为想要学习 <Excel 图标之道>,安装了Excel2003,刚刚安装好,打开出现“向程序发送命令时出现错误”,虽然点击确定就可以用了,可总是觉得不 ...

  4. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. (关于jdbc)

    The last packet sent successfully to the server was milliseconds ago. The driver has not received an ...

  5. vpn服务器搭建

    这里我们用CentOS6.0和Shdowsocks搭建 首先了解几个命令 wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP.HTTPS.FTP 三个最常见的 TCP/IP协议 下载, ...

  6. 老男孩Python全栈开发(92天全)视频教程 自学笔记03

    day3课程目录: pyhton的历史 32bit和64bit系统的区别 Python版本的选择 第一个pyhton程序 文件后缀名及系统环境变量的介绍 pyhton程序的执行和其他编程语言的简单对比 ...

  7. 一条命令关掉centos所有不必要的服务和端口号

    centos作为服务器开放的服务多了,难免一些服务软件有漏洞,开放的端口号越多,上线的服务器越危险,所以我们必须在服务器上线之前把centos里面不必要的服务全部干掉,不让坏人有可乘之机. 首先看一下 ...

  8. 学习:D3

    http://www.ourd3js.com/wordpress/?p=196 http://www.ourd3js.com/demo/rm/R-9.2/force.html 力导向图(那个可以拖拽的 ...

  9. spring 装配集合

    1:创建pojo,属性包含集合,集合元素为基本类型 package com.liyafei.pojo; import java.util.List; import java.util.Map; imp ...

  10. python itertools模块练习

    参考 <python标准库> 也可以参考Vamei博客 列表用着很舒服,但迭代器不需要将所有数据同时存储在内存中. 本章练习一下python 标准库中itertools模块 合并 和 分解 ...