本文转载自:http://blog.csdn.net/mybelief321/article/details/9969949

Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:

此说明文件中所用的原始文件(src.jpg),宽度:200,高度:150

命令格式: -resize widthxheight{%} {@} {!} {<} {>} {^}

1. 默认时,宽度和高度表示要最终需要转换图像的最大尺寸,同时Convert会控制图片的宽和高,保证图片按比例进行缩放。

如:convert -resize 600×600 src.jpg dst.jpg

转换后的dst.jpg的图片大小(宽度为600,而高度已经按比例调整为450).

2.如果需要转换成600×600,而图片无需保持原有比例,可以在宽高后面加上一个感叹号!.

如:convert -resize 600×600! src.jpg dst.jpg

3. 只指定高度,图片会转换成指定的高度值,而宽度会按原始图片比例进行转换。

如:convert -resize 400 src.jpg dst.jpg

转换后的dst.jpg的图片大小(宽度为400,而高度已经按比例调整为300),和例1有点类似。

4. 默认都是使用像素作为单位,也可以使用百分比来形象图片的缩放。

如:convert -resize 50%x100%! src.jpg dst.jpg 或者convert -resize 50%x100% src.jpg dst.jpg

此参数只会按你的比例计算后缩放,不保持原有比例。(结果尺寸为100×150)

5.使用 @ 来制定图片的像素个数。

如:convert -resize “10000@” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(115×86),图片保持原有比例(115×86= 9080 < 10000)。

6.当原始文件大于指定的宽高时,才进行图片放大缩小,可使用>命令后缀。

如:convert -resize “100×50>” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(67×50),图片保持原有比例。

如:convert -resize “100×50>!” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(100×50),图片不保持原有比例。

7.当原始文件小于指定的宽高时,才进行图片放大转换,可使用<命令后缀。

如:convert -resize “100×500<” src.jpg dst.jpg 或者convert -resize “100×100<!” src.jpg dst.jpg

此命令执行后,dst.jpg和src.jpg大小相同,因为原始图片宽比100大。

如:convert -resize “600×600<” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(600×450),图片保持原有比例。

如:convert -resize “600×600<!” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(600×600),图片不保持原有比例。

8.使用^命令后缀可以使用宽高中较小的那个值作为尺寸

如:convert -resize “300×300^” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(400×300),图片保持原有比例,(300:300 < 200:150,选择高作为最小尺寸)。

如:convert -resize “300×200^” src.jpg dst.jpg

此命令执行后,dst.jpg图片大小为(300×225),图片保持原有比例,(300:200 > 200:150,选择宽作为最小尺寸)。

转载自:http://www.linuxdiyf.com/viewarticle.php?id=170334

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还有其他很多有趣和强大的功能,大家不妨可以试试。

linux下使用convert命令修改图片分辨率【转】的更多相关文章

  1. Linux下使用 xrandr 命令设置屏幕分辨率

    最近在Linux下修改屏幕分辨率的时候,发现了一个非常有用的命令:xrandr 使用这个命令,可以方便的设置您显示器的的分辨率.尤其是当你使用了一些需要或者会自动改动您屏幕分辨率的程序以后. 您可以使 ...

  2. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

  3. Linux下使用date命令查看和修改时间

    1.查看系统时区和时间,执行命令date -R “-0500”代表西五区(America/New_York),北京的时区为“+0800”(东八区). 2.查看硬件时间,执行命令hwclock --sh ...

  4. 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...

  5. linux 下 mysql 常用命令

    linux 下 mysql 常用命令   阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...

  6. Linux下的Make命令实例详解

    众所周知在Linux系统下的make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.下面这 篇文章我们将用一 ...

  7. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

  8. Linux下的查找命令which、whereis、locate、find(6/20)

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which   [-a]    cmdname1 cmdname2 ...... 命令参数: -n  ...

  9. Linux下不重启永久修改hostname

    LINUX下不重启永久修改hostname 1.如果只是修改hostname可以通过如下命令 hostname newHostname   注意:这种修改方式只有当前有效,等服务器重启后hostnam ...

随机推荐

  1. FastJson之有道翻译

    在AndroidMainifast.xml中加入相应的访问权限 <uses-permission android:name="android.permission.INTERNET&q ...

  2. 把raw目录下的几张照片存放到SD卡里面去

    try { //SD卡路径 String filename =android.os.Environment .getExternalStorageDirectory().getAbsolutePath ...

  3. hibernate里createSQLQuery的addEntity()和setResultTransformer()方法

    http://langgufu.iteye.com/blog/1565397 ————————————————————————————————————————————————————————————— ...

  4. CUDA常见问题之无法在c文件中调用cu文件中定义的函数

    当在C源文件中调用cu文件中定义的函数时,会出现undefined reference的问题,而在C++源文件中调用cu文件中定义的函数时则不会出现这个问题. 出现上述问题的原因是,nvcc编译器采用 ...

  5. C语言的本质(15)——C语言的函数接口入门

    C语言的本质(15)--C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能. 函数接口通过函数名,参数和返 ...

  6. JAVA Socket无参构造方法的使用

    1.Socket类的构造方法很多,只有无参构造方法不会尝试建立连接,其他构造方法,都会尝试建立连接的,如果建立连接失败,将会抛出异常.如果想为Socket设定连接超时时间,此时就需要使用无参构造方法, ...

  7. 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本

    原文 [译]在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本 本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过As ...

  8. 基於tiny4412的Linux內核移植 --- 实例学习中断背后的知识(1)

    作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面几篇博文列举了在有设备树的时候,gpio中断的 ...

  9. 多线程爬坑之路-ThreadLocal源码及原理的深入分析

    ThreadLocal<T>类:以空间换时间提供一种多线程更快捷访问变量的方式.这种方式不存在竞争,所以也不存在并发的安全性问题. This class provides thread-l ...

  10. tensorflow-线性函数训练例子一

    import tensorflow as tfimport numpy as np #create datax_data = np.random.rand(100).astype(np.float32 ...