原文地址:http://www.netingcn.com/imagemagick-resize.html
ImageMagick之图片缩放
2011年8月30日admin发表评论阅读评论
利用ImageMagicK的convert命令,能很方便的实现图片的放大缩小,可以进行等比例缩放,也能缩放到指定的固定大小。缩放的参数resize,由它来指定缩放后图片的宽高,比如“200×100”。
等比缩放 例如把图片a.jpg缩放到200×100的尺寸,可以用命令:
convert -resize 200×100 src.jpg dest.jpg
注意:虽然明确指定了图片大小为200×100,但dest.jpg的不一定就是200×100,因为是等比缩放的,dest.jpg大小取决原始图片比例。假设src.jpg的大小是500×200,那么缩放后dest.jpg的真实大小为200×80,再比如src.jpg的大小是300×200,缩放后的尺寸为150×100。原则是缩放后的尺寸最少有一个是符合宽或高,且另外一个不能大于指定的参数中对应的宽或高。另外可以通过只指定宽或高的方式来进行缩放。例如:
convert -resize 200 src.jpg dest.jpg
得到图片宽为200,高根据原始图片比例计算而来
convert -resize x100 src.jpg dest.jpg
得到的图片高位100,宽根据原始图片比例计算而来
固定宽高缩放。即不考虑原是图宽高的比例,把图片缩放到指定大小。例如命令:
convert -resize 200x100! src.jpg dest.jpg
说明:区别是宽高后面多了一个叹号,此时不管原图片比例如何,缩放后的图片大小都是200×100,这样就可能导致图片变形。注意:在linux环境对参数需要用单引号引起来,而windows下又不能使用单引号。
有条件缩放。可以通过>或<符号来控制原始图片是否进行缩放,例如在处理一批尺寸大小各异的图片,只想把尺寸大于给定的值图片才进行缩小,如果没有指定条件,可能会把那些小的图片进行了放大处理。
convert -resize "200x100>" src.jpg dest.jpg
注解:只有当src.jpg的宽大于200或高大于100时候,才进行缩小处理,
否则生成的dest.jpg和src.jpg具有一样的尺寸。
注意在linux下要用单引号替换成双引号,即'200x100>'。
convert -resize "200x100<" src.jpg dest.jpg
注解:只有当src.jpg的宽小于200或高小于100时候,才进行放大处理,
否则生成的dest.jpg和src.jpg具有一样的尺寸。
注意在linux下要用单引号替换成双引号,即'200x100<'
上述两种有条件缩放是按原始图等比例缩放的,也就是对符合条件的图片进行等比缩放。同时有条件缩放也可以与固定大小缩放联合起来用。例如如下命令。
convert -resize "800x100>!" src.jpg dest.jpg
注解:假设src.jpg尺寸是300x200。很显然src.jpg的高(200)是大于指定值高(100),
符合缩小的条件,由于执行的不是等比缩放,
所以dest.jpg的尺寸理论上是800x100,由于执行是缩小操作
显然800是超过原始图片宽的,故dest.jpg的宽只能是300
convert -resize "10x1000<!" src.jpg dest.jpg
注解:假设src.jpg尺寸是300x200,src.jpg的高(200)小于指定值高(1000),
因此该命令将执行放大图片操作,dest.jpg的高将放到到1000,
由于目标图片宽比原始图片还小,但是执行的是放大操作,因此只能用原始图片的宽,
所以得到的dest.jpg的尺寸是300x1000。
分享到:
相关推荐
由于需要在服务器端处理,使用就研究使用imagemagick来进行。同时准备封装了一个Node.js和Python的方法,主要还是讲一下然后使用imagemagick来对图片进行缩放、合成后进行裁剪吧
要使用ImageMagick在Java中进行图片缩放,首先需要在系统中安装ImageMagick,然后添加`Imagemagick-Java`库到项目中。这个库通常以JAR文件的形式提供,可以将其添加到项目的类路径中。 接下来,我们需要了解如何...
1. 图像缩放:可以调整图像尺寸,无论是缩小还是放大,都能保持图像质量。 2. 裁剪与旋转:能够精确裁剪图像,或者按任意角度旋转图像,支持自动旋转根据EXIF元数据。 3. 色彩管理:可以转换色彩空间,如从RGB到...
- 图像缩放:根据需要调整图片的尺寸,保持原始比例或自定义宽度和高度。 - 图像裁剪:从图片中提取特定区域,可用于创建缩略图或聚焦于关键部分。 - 裁边与旋转:去除图片边缘的空白区域,或按指定角度旋转图像...
ImageMagick是一款强大的开源图像处理工具,它支持在命令行环境下进行各种图像操作,包括转换、缩放、旋转、添加文字、加边框以及合成图片等。ImageMagick的便捷之处在于其命令行界面,这使得它在批量处理、自动化...
Java图片处理工具ImageMagick是一个强大的跨平台图形处理库,它允许开发人员在Java应用程序中进行复杂的图像操作,包括但不限于转换、编辑、合成图像以及处理大量格式的图像文件。ImageMagick是由C语言编写的,但...
ImageMagick的核心功能包括图像缩放、旋转、裁剪、颜色调整、滤镜应用以及添加文字和水印等。 ImageMagick的"Q16"代表其内部使用的颜色深度,即Quantum Depth,表示每个像素可以存储的颜色信息位数。在Q16模式下,...
这个“图片缩放剪切处理代码”主题涉及到的是使用JavaScript、ASP、PHP和可能的JSP技术来实现这些功能。下面我们将深入探讨这些技术及其在图片处理中的应用。 首先,JavaScript(JS)是一种广泛使用的客户端脚本...
例如,你可以创建一个操作来将图片缩放到指定大小: ```java IMOperation op = new IMOperation(); op.addImage("input.jpg"); op.resize("800x600>"); op.addImage("output.jpg"); new SimpleCommand(op).execute...
总的来说,ImageMagick是图像处理领域的强大工具,其多版本和编译方式的选择满足了不同用户的需求,无论你是个人用户处理个人图片,还是开发者需要在项目中集成图像处理功能,都能从中找到合适的解决方案。
一、图片缩放 1. 使用`BufferedImage`类: Java的`java.awt.image`包提供了`BufferedImage`类,可以用来读取、创建和操作图像。通过`Graphics2D`对象,我们可以对`BufferedImage`进行缩放操作。以下是一个简单的...
这段代码首先设置了系统属性`jmagick.systemclassloader`,然后读取源图片文件,计算缩放比例,执行缩放操作,并将结果保存到目标文件。需要注意的是,不同版本的JMagick可能存在兼容性问题,可能会遇到如`...
#### 一、ImageMagick简介 ImageMagick是一套功能强大的软件工具集,用于创建、编辑或合成位图图像。它能够读取、转换并写入多种格式(超过200种)的图像,包括PNG、JPEG、GIF、TIFF、PDF等。ImageMagick支持多种...
5. **其他功能**:除了压缩,ImageMagick还能进行裁剪、旋转、缩放、颜色调整、添加边框、水印等图像处理操作。例如,使用`resize`选项可以改变图片尺寸: ``` convert input.jpg -resize 800x600 output.jpg ```...
它提供了与ImageMagick底层C++ API的桥梁,使得Delphi开发者可以直接在Delphi代码中调用ImageMagick的各种图像处理函数,如转换、裁剪、缩放、旋转、颜色调整等。 MagickImage.pas:这个文件定义了图像对象类,用于...