一、什么是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内存。

这里我们选择下载官方推荐的文件,也就是第一个:ImageMagick-7.0.8-12-Q16-x64-dll.exe

这个7.0版本和6点几版本有些不同,系统环境变量都是自动配置好的。

使用 magick --version 查看是否安装成功:

三、使用

如果很多子命令不能直接使用,则可以把他们当做magick的子命令使用,如:

identify bbb.png
magick identify bbb.png

1、转换格式

magick test.jpg test.png

表示把test.jpg这个图片另存一份为test.png,同时修改了图片名称和格式

(原来jpg比png小不少

2、合成gif

magick a.jpg b.jpg c.jpg test.gif
magick *.jpg images.gif

将指定的图片合成一个gif(好像以第一张图的大小为准)

3、调整图片大小

按比例改变

magick b.png -resize %  b1.png
magick convert b.png -resize % b1.png
magick convert -resize % b.png b1.png

图片宽扩展为原来的2倍,高缩小为原来的一半

magick convert b.png -resize 200x50%  b7.png
magick convert b.png -resize %x50% b8.png

宽调整为100,高按原来图片宽高比例跟着调整

convert -resize  b.png  b15.png

高调整为200,宽按原来图片宽高比例跟着调整

convert -resize x200 b.png  b16.png

4、移除图片内嵌的所有配置文件

magick convert -strip .jpg

5、裁剪图片

crop参数可以把一副图像分成若干块大小一样的图片

magick img1.jpg -crop 500x500 dest.jpg

例如,原图片尺寸为1920x1200,所以可以分割出12块图片,注意如果尺寸不是目标图片的整数倍,那么右边缘和下边缘的一部分图片就用实际尺寸

在原始图像上裁剪一张指定尺寸的小图

magick img1.jpg -crop 600x450++ dest.jpg

600x450是宽乘高,+300+600是横纵坐标

6、图片取反

magick convert a.jpg -negate canny.jpg

7、压缩图片

将图片质量降为原来的10%(即压缩掉了90%),取值范围1 ( 最低的图像质量和最高压缩率) 到100 ( 最高的图像质量和最低压缩率),默认值根据输出格式有75、92、100,选项适用于JPEG / MIFF / PNG.

magick convert -quality  .jpg .jpg

实例:生成缩略图:

-resize,定义输出的缩略图尺寸;-quality 70,降低缩略图的质量为70%;-strip:让缩略图移除图片内嵌的所有配置文件,注释等信息,以减小文件大小。

magick convert  -resize 100x200 -quality  -strip  .jpg .jpg

8、给图片加边框

设置边框颜色为蓝色(也可以用rgb(0,0,255)或者rgb(0%,0%,100%)代替),宽的边框和高的边框分别为宽的5%、高的5%,也就是说,图片的高和宽都增大了10%

magick .jpg -bordercolor blue -border % .jpg

9、滤镜

magick convert monochrome .jpg -monochrome monochrome_example.jpg
magick convert charcoal .jpg -charcoal 1.2 charcoal _example.jpg

-monochrome没有相关的配置选项;但是-charcoal需要设置一个相关因子,1左右能实现类似炭笔绘画的效果。

magick convert a.jpg -edge  edge.jpg
magick convert a.jpg -colors color.jpg

减少为2种颜色,这些选项也可以一起使用。

10、边缘检测

magick convert a.jpg -canny  canny.jpg

使用canny算法,带粗粒度参数。

图像取反的话就很好看了:

magick convert a.jpg -canny  -negate canny.jpg

参考链接:

1. https://www.cnblogs.com/wbxk/p/9794094.html

2. https://blog.csdn.net/qq_24127015/article/details/86523738

3.https://blog.csdn.net/wangmeitingaa/article/details/88885711

4. https://www.imooc.com/article/46112?block_id=tuijian_wz

ImageMagick 的安装及使用的更多相关文章

  1. 转:ImageMagick +Jmagick安装

    原文来自于: 目录 一.ImageMagick介绍 二.安装支持库 三.在Linux上用源码编译安装ImageMagick与Jmagick 四.在Linux上使用yum安装ImageMagick与Jm ...

  2. ImageMagick jmagick 安装

    在安装ImageMagick之前,请检查下面包已经安装 tiff-3.9.5.tar.gz         (rpm -qa|grep libtiff检查是否已经安装) libpng-1.2.46.t ...

  3. ImageMagick的安装及使用

    近期在使用ImageMagick处理酒店团购图片,写篇博客小小的总结下它的安装及使用方法.ImageMagick是一套功能强大且免费的图片处理开发包,能够用来读,写和处理多种格式的图片文件,总之非常强 ...

  4. 图片处理服务 ImageMagick 的安装和使用

    简介 该文章使用目前官方最新版本7.0.8,这里只记录下Windows系统下的安装. 官方网站:http://www.imagemagick.org/script/index.php. ImageMa ...

  5. php imagemagick库安装使用

    imagemagick介绍: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. ...

  6. linux安装imagemagick,centos安装imagemagick方法

    1.安装文件格式支持库 yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype- ...

  7. Centos5.8 安装 ImageMagick 6.8.9-3

    下载最新的ImageMagick源码包 ImageMagick-6.8.9-3.x86_64.rpm 直接prm -ivh 安装提示错误 error: Failed dependencies: lib ...

  8. Mac下ImageMagick安装(libpng)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42562705 ...

  9. php安装imagemagick扩展 常见问题与解决方案(win平台)

    1.写在前面 1-1.ImageMagick介绍 ImageMagick是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过89种基本格式的图片文件,包括流行的TIFF.JPEG.G ...

随机推荐

  1. Docker图形化工具——Portainer

    目标搭建docker-ui 一.Docker图形化工具 docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard .DockerUI 是 Portaine ...

  2. Replication:事务复制 Transaction and Command

    事务复制使用 dbo.msrepl_transactions 和 dbo.MSrepl_commands 存储用于数据同步的Transaction和Command.在replication中,每个co ...

  3. Linux中历史命令

    历史命令,即之前登录session会话中的在命令行键入的命令. 在Linux中可以有两种方式查询历史命令 history命令 当前用户目录中的隐藏文件.bash_history 一.history 作 ...

  4. <!DOCTYPE html> 详解

    前段时间的.netcore web应用程序的项目里面使用Frameset与Frame时候出现了一个问题就是使用不了,今晚准备测试一个bug却得到意外收获o(∩_∩)o 哈哈, 找到了最终原因funny ...

  5. Docker Cheatsheet

    一.创建 docker create:创建容器,处于停止状态. centos:latest:centos容器:最新版本(也可以指定具体的版本号).本地有就使用本地镜像,没有则从远程镜像库拉取.创建成功 ...

  6. 二.HTML

    1.HTML 1. <head></head>标签 <!DOCTYPE html> <!--统一规范--> <!----> <html ...

  7. kafka安装和简单测试

    kafka安装和简单测试 # 安装zookeeper(apache-zookeeper-3.5.6-bin)https://archive.apache.org/dist/zookeeper/zook ...

  8. Java DbUtils简介

    Dbutils,db utils,顾名思义,是一个数据库工具,体积很小,算是一个dao层的小框架. DbUtils是Apache的开源项目,对JDBC进行了轻量级封装,极大地简化了JDBC编程. Db ...

  9. BDOC ROUTER

    BAPI_CRM_SAVECRM_GENERIC_CRM_INMAP_BAPIMTCS_AND_PROCESSCRM_DOWNLOAD_MAP_TO_MBDOCCRM_SALESDOC_MAP_BAP ...

  10. 数据结构与算法—simhash

    引入 随着信息爆炸时代的来临,互联网上充斥着着大量的近重复信息,有效地识别它们是一个很有意义的课题. 例如,对于搜索引擎的爬虫系统来说,收录重复的网页是毫无意义的,只会造成存储和计算资源的浪费: 同时 ...