ImageMagick的安装和使用案例

ImageMagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在windows和linux系统都可以安装,因为我们的环境是linux环境,所以我就以linux系统为安装环境进行测试。

系统环境:

# cat /etc/SuSE-release

SUSE Linux Enterprise Server 11 (x86_64)

VERSION = 11

PATCHLEVEL = 2

一、编译安装环境

ImageMagick下载链接

https://www.imagemagick.org/download/ImageMagick.tar.gz

因为生产环境需要对png格式的图片进行修改,所以需要png库的支持,这里需要编译libpng-1.5.8.tar.gz,相应的如果你的图片格式是其他格式的,你就需要其他的库文件的支持。

/home/sxzhou # ll

total 13532

-rw-r--r-- 1 root root 12769934 Mar  2 14:02 ImageMagick.tar.gz

-rw-r--r-- 1 root root  1059513 Mar  2 14:12 libpng-1.5.8.tar.gz

编译安装libpng

/home/sxzhou # tar -zxf libpng-1.5.8.tar.gz

/home/sxzhou # cd libpng-1.5.8/

/home/sxzhou/libpng-1.5.8 # ./configure

/home/sxzhou/libpng-1.5.8 # make && make install

编译安装ImageMagick

/home/sxzhou # tar -zxf ImageMagick.tar.gz

/home/sxzhou # cd ImageMagick-7.0.5-0/

/home/sxzhou/ImageMagick-7.0.5-0 # ./configure --prefix=/usr/local/ImageMagick --enable-share --enable-static LDFLAGS="-L/usr/lib64" CPPFLAGS="-I/usr/include"

这一步之后在末尾可以看到对于png图片格式的支持

PANGO             --with-pango=yes            no

PERL              --with-perl=no              no

PNG               --with-png=yes              yes

RAQM              --with-raqm=yes             no

RSVG              --with-rsvg=no              no

/home/sxzhou/ImageMagick-7.0.5-0 # make && make install

/usr/local/ImageMagick # ldconfig /usr/local/lib

二、使用案例

2.1、对图片大小进行修改

-resize 对图片大小进行修改

/usr/local/ImageMagick/bin # ./convert -resize 500x300 /home/sxzhou/1.PNG /home/sxzhou/2.PNG

注意:

使用字母x代表乘号而不是*

参数说明:

500x300是指图片的宽x长(也可以只指明宽或者长,例如-resize 500,指明宽度,长度会按比例进行相应缩减,-resize x300,指明长度,宽度会按比例进行相应缩减)

/home/sxzhou/1.PNG 为源文件,也就是修改前的文件

/home/sxzhou/2.PNG 为目标文件,也就是修改后的文件

2.2、按比例缩减图片

-sample 按比例缩减图片

/usr/local/ImageMagick/bin # ./convert -sample 50% /home/sxzhou/1.PNG /home/sxzhou/3.PNG

以字节为单位显示文件大小

/home/sxzhou # du -sk *.PNG

120     1.PNG

112     2.PNG

56      3.PNG

把3.PNG拉出来查看图片大小(宽x高)可以发现也缩减了一半

2.3、对图片进行优化以及批量修改图片

在生产环境中经常会遇到对于图片大小要求尽可能小而清晰度高的情况,这时候就需要对于图片修改时加入优化的参数。

+profile “*” 去掉图片的exif信息

-quality 85  对图片的质量进行缩减(质量缩减直到75的范围内,肉眼识别的差别基本很小)

如下面所示:

在生产环境如果遇到批量修改图片,而且对于小于一定大小的图片不进行压缩,另外对于图片前后名字不变,如果同时满足以上的条件的话就需要组合命令。

/usr/local/ImageMagick/bin # ln -s /usr/local/ImageMagick/bin/convert /usr/bin/convert

修改前的图片大小

/home/sxzhou/ # du -sk *.png

44      BG00.png

428     BG01.png

80      BG10.png

44      BG11.png

1788    BJ00.png

592     BJ01.png

96      BJ10.png

批量修改图片

/home/sxzhou/ # find -name "*.png" -exec convert -resize ‘500x360>‘ {} {} \;

修改后的图片大小

/home/sxzhou/ # du -sk *.png

44      BG00.png

208     BG01.png

80      BG10.png

44      BG11.png

256     BJ00.png

260     BJ01.png

96      BJ10.png

可以看到只有红色部分标记的图片改变了大小

时间: 2024-08-07 20:53:43

ImageMagick的安装和使用案例的相关文章

DBA_Oracle Erp R12中文补丁安装升级(案例)

2014-07-11 BaoXinjian 一.摘要 在使用oracle ebs时,使用中文会更好的理解整个ebs流程,一下介绍oracle r12中文补丁的方式 1. 如果你的系统除了支持英语外,还支持其他语言,比如中文,那你在下载补丁的时候除了下载Generic Platform版本外,还要确认有没有其他语言的版本,比如ZHS版本.如果有的话也要下载. 2. EBS的补丁不像数据库的补丁那样可以回滚,一旦失败就很麻烦.所以打补丁前一定要细看readme文件,确认补丁所需的前提条件都满足. 3

ImageMagick +Jmagick安装

一.前提介绍 ImageMagick是用C语言开发图片处理程序.可以对图片进行改变大小.旋转.锐化.减色或增加特效等操作.对图片的操作,即可以通过命令行进行,也可以用C/C++.Perl.Java.PHP.Python或Ruby编程来完成.ImageMagick 的官网是:http://www.imagemagick.org/script/index.php 由于我们是java项目,直接使用java通过JNI技术调用ImageMagick的C语言接口是不行的.因为ImageMagick开发时没有

git安装和使用案例

##git安装和使用案例(centos6.5) git简介: Git是目前世界上最先进的分布式版本控制系统.可以将同一个文件在不同时间的修改结果保存到git仓库中,随时可以恢复到某个需要的版本进行查看. 常规的文件版本管理实现:每次修改前复制上一个版本,在文件名中用数字或日期来标识版本号,再修改其内容,然后保存. git版本管理:直接对文件修改,用git提交版本到仓库中,文件名不改变,用版本标识来区分.每次修改后必须提交修改版本并指定"版本标识".恢复版本时用"版本标识&qu

在CDH5.14.4 中安装StreamSets与案例运行

在CDH5.14.4 中安装StreamSets与案例运行 标签(空格分隔): 大数据平台构建 一: Streamset 简介与系统环境介绍 二: 安装软件准备 三: 在CDH5.14.4 集成使用StreamSets 四: streamsets 基本使用案例运行 一: Streamset 简介与系统环境介绍 1.1: StreamSet 简介 StreamSets由Informatica前首席产品官Girish Pancha和Cloudera前开发团队负责人Arvind Prabhakar于2

php imagemagick库安装使用

imagemagick介绍: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG, and TIFF. Use Ima

ImageMagick 的安装及使用

一.什么是Imagemagick? ImageMagick是一款免费开源的图片编辑软件.既可以通过命令行使用,也可以通过C/C++.Perl.Java.PHP.Python或Ruby调用库编程来完成.ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上. 二.下载和安装 这里以Windows为例 使用16-bit在处理图片时比8-bit慢15%至50%,内存也为2倍.比如处理一张1024x768像素的图片8-bit要使用3.6M内存,16-bit要使用7.2M内存.

matlab2010安装详细图解案例

matlab2010支持win7,所以本文以matlab2010为例. 下载地址:http://pan.baidu.com/s/1i37lLlj 安装步骤: 1.下载后,解压缩,使用war或rar解压缩即可. 2.根据win7系统是64还是32位,选择执行对应目录下的vcredist_x64.exe程序,如图: 3.步骤二执行完毕后,执行如下图程序: 4.出现下图界面,选择Install without using the internet,无网络安装方式: 5.点击同意: 6.输入秘钥: 7.

Hadoop入门进阶课程12--Flume介绍、安装与应用案例

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  .该系列课程是应邀实验楼整理编写的,这里需要赞一下实验楼提供了学习的新方式,可以边看博客边上机实验,课程地址为 https://www.shiyanlou.com/courses/237 [注]该系列所使用到安装包.测试数据和代码均可在百度网盘下载,具体地址为 http://pan.baidu.c

.net创建并安装windows服务案例

1. 创建windows服务[引用博文]: 1. 将这个服务程序切换到设计视图2. 右击设计视图选择“添加安装程序”3. 切换到刚被添加的ProjectInstaller的设计视图4. 设置serviceInstaller1组件的属性: 1) ServiceName = My Sample Service2) StartType = Automatic5. 设置serviceProcessInstaller1组件的属性 1) Account = LocalSystem6. 生成解决方案 注意:尝