`

ImageMagick: 图像处理工具包(使用它在图片中插入文字注释)

阅读更多

引子

 

最近项目中, 我们需要管理很多的打印机, 根据机种的不同, 我们需要显示相应的打印机图片,

这其中包含着一定的规则(依赖于使用SNMP从打印机取到的返回值)

 

因为打印机图片很多, 加之有时候我们还要使用替代的图片,

所以经常, 我打开一个网页, 都不确定显示出来的图片是否是正确的,

通常的做法, 我会查看这个图片的连接,确认一下文件名是否正确,

可是每次为了查看这个图片的连接, 我总要多点那么一下,

我觉得不直观, 所以在开发的时候, 我希望给图片加上Label.

 

我的想法是: 针对下面这样的原始图片

 

把文件名显示在图片上, 形如下面这样:

   

这样一来, 显示出来的图片是否正确, 就一目了然了.

 

 

为了完成这个事儿, 我起初使用的Photoshop,

但很快我就感觉到, 每次启动Photoshop往上面一个个加文字, 也是个麻烦事儿.

显然我需要的是一个命令工具,

一个命令搞定所有图片的那种.

 

 

 

调查了一下, 发现ImageMagick是个好工具.

 

ImageMagick主页 在这.

 

他跨平台, 支持命令行操作, 提供了ruby, python, java, .net等等一票语言的接口, 而且功能强大(关于功能列表和它支持的更多语言接口, 详见他的主页)

很是对我的胃口

下载下来配置了一下:

实现上面的功能, 只需命令如下:

 

第一幅图的命令(文件名标签添加在中间)

convert printer.png  -fill red -pointsize 30 -annotate +10+141 "PN298-H_3_M_F" printer_label_middle.png
 

如果想给文字加上方框, 像第二幅图那样,可以使用下面命令:

convert printer.png  -fill "#00ffff" -draw "rectangle 5,128,114,145" -fill red  -annotate +10+141 "PN298-H_3_M_F" printer_label_middle.png
 

第二幅图的命令(文件名标签添加在底部)

convert printer.png   -background Khaki -pointsize 30  label:"Hello PN298-L_3" -gravity Center -append    printer_label_bottom.png

 

最后写个脚本, 包一下上面的命令, 对一组图片批量执行上面命令,

至此, 这个问题算是满意解决.

 

 

 

ImageMagick的 安装和配置

 

在它的主页上面, 有一个Binary Releases 的link.注意, 这个二进制下载居然不在他的Download 页面里面,

(Download里面我选了几个镜像, 发现都只有source, 起初我还以为他只能自己编译了)

 

对于windows, 里面有带dll的, 有不带的, 有安装版的, 有免安装的.

我下载的是免安装版的, 解压到本地, 配置成path即可.

 

只是当我第一次运行convert.exe命令时, 它提示我说: "必须指定文件系统"

原来我把ImageMagic追加到了path的最后,

导致convert.exe最先匹配到的是"C:\Windows\System32\convert.exe",

将ImageMagic的安装路径提到path前面即可

 

 

 

ImageMagick的文档和资源

 

 

①官网上的文档已经很详尽,

同时官网上面也介绍了关于他的两个书:

<<The Definitive Guide to ImageMagick >>

<<ImageMagick Tricks: Unleash the power of ImageMagick with this fast, friendly tutorial and tips guide>>

当然, 也有社区.

 

 

②我做上面的例子的时候, 参考了下面这两个文档连接:

ImageMagick v6 Examples -- Annotating Images

ImageMagick v6 Examples --  Text to Image Handling

 

 

③搜索的时候, 发现这个链接也不错

5 ImageMagick command line examples – part 1

 

 

④关于convert命令的详细, 参考这个链接

ImageMagick Convert Command-line Tool

想说的一点是, 这个链接中参数介绍有这样一行

-pointsize value     font point size

这个pointsize就是font size.

起初我想使用这个参数, 搜了个"font size", 结果没有匹配着, 致使我开始漏掉了这个参数.

 

 

⑤下面这个blog是对RMagick的一个介绍(ps,ruby还有其他wrapper)

Image Manipulation @The Bastards Book of Ruby

可以做为一个概览, 看一看.

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ImageMagick图像处理工具

    ImageMagick是一款强大的开源跨平台图像处理工具,广泛应用于Linux、Windows、Mac OS X等多种操作...总的来说,ImageMagick是图像处理领域中不可或缺的工具,无论是个人使用还是商业项目,都能找到它广阔的应用场景。

    Java图片处理工具ImageMagick

    Java图片处理工具ImageMagick是一个强大的跨平台图形处理库,它允许开发人员在Java应用程序中进行复杂的图像操作,包括但不限于转换、编辑、合成图像以及处理大量格式的图像文件。ImageMagick是由C语言编写的,但...

    ImageMagick-- 图片处理

    在IT行业中,ImageMagick被广泛用于自动化图像处理任务,例如网站的缩略图生成、图像格式转换、批量处理大量图片等。 **主要功能** 1. **图像转换**:ImageMagick可以将一种图像格式转换为另一种格式,支持包括...

    ImageMagick-7.0.11-0.tar.gz

    例如,你可以使用它来调整图像尺寸、裁剪图片、旋转图像、应用滤镜效果、添加文字水印、进行颜色空间转换、合并多个图像等。此外,ImageMagick还支持批处理模式,可以一次性处理大量图像文件,大大提高了工作效率。 ...

    图片压缩工具ImageMagick

    它由C语言编写,以其高效和轻量级的特性而受到广泛赞誉,不会占用过多的系统资源,尤其在处理大量图像时表现优秀。这款工具不仅支持常见的JPEG、PNG、GIF、BMP等格式,还能处理TIFF、DPX、EXR、WebP等专业级别的图像...

    在 Linux 中使用 ImageMagick 命令行操作图像文件.docx

    在 Linux 中使用 ImageMagick 命令行操作图像文件,可以无需打开图像编辑器进行修改图像文件。convert 命令包含在 ImageMagick 安装包里。ImageMagick 可以安装在 Linux、Mac OS X、Windows 系统中。下载链接为:...

    ImageMagick-6.9.11-16.tar.gz ImageMagick图像软件下载

    在安装完成后,就可以在命令行中直接使用ImageMagick提供的工具了。 对于PHP开发者来说,ImageMagick可以通过PHP的Imagick扩展进行调用,这样可以在服务器端进行高效且灵活的图像处理。Imagick扩展提供了许多与...

    ImageMagick 强大的图片转换资源

    ImageMagick是一款强大的开源图像处理工具,它支持各种图片格式的转换、编辑和合成操作,广泛应用于嵌入式产品开发及各种图形处理需求。在本文中,我们将深入探讨ImageMagick的功能、用法以及它对png、jpg、gif和...

    imageMagick给图片加字,windows批处理

    使用ImageMagick给图片在指定位置加文字,可以实现P图软件一样的效果。加上for循环语句,可以实现批量给图片加文字。 关于ImageMagick,是一款免费的命令行图像处理软件,支持windows,linux,Mac OS多平台,下载...

    ImageMagick java图片处理工具

    ImageMagick是一个免费的创建、编辑、...ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。

    ImageMagick

    ImageMagick是一款强大的开源跨平台图像处理工具,广泛应用于Java开发环境中,用于对图像进行各种操作,如裁剪、缩放、旋转、合成以及转换图片格式等。它支持多种图像文件格式,包括常见的JPEG、PNG、GIF、BMP以及更...

    Linux图像处理高手GIMP与ImageMagicK.pdf

    图像处理是一个多媒体应用中的重要部分,在 Linux 环境下,选择使用的图像处理软件并不多。近来随着 Linux 在桌面应用中的不断壮大,一些图像处理软件也开始从 Windows 和 MacOS 移植到 Linux 环境下。 GIMP 的功能...

    ImageMagick对应Java jar包

    ImageMagick是一个强大的跨平台命令行工具集合,用于处理各种图像格式,支持超过200种不同的图像文件格式。它提供了丰富的功能,如图像转换、裁剪、旋转、颜色调整等。在Java环境中,如果想要利用ImageMagick的功能...

    基于ImageMagick和Magickwand的Web图像处理.pdf

    要实现基于ImageMagick和Magickwand的Web图像处理,需要在Linux操作系统和PHP语言环境中配置ImageMagick图形处理库和Magickwand for PHP组件。然后,使用PHP语言编写个性化的图像处理函数,调用ImageMagick的图形...

    Java图片处理解决方案:ImageMagick快速入门教程.docx

    在 Java 中使用 ImageMagick 需要先确认 JDK、Maven 正确安装,然后引入依赖 IM4Java 是 ImageMagick 的 Java API 包,它将 Java 代码转化成对 ImageMagick 的命令行调用。 IM4Java 的作用是将 Java 代码转成对 ...

    用ImageMagick命令行处理图片

    ImageMagick是一款强大的开源图像处理工具,它支持在命令行环境下进行各种图像操作,包括转换、缩放、旋转、添加文字、加边框以及合成图片等。ImageMagick的便捷之处在于其命令行界面,这使得它在批量处理、自动化...

    ImageMagick使用手册-英文原版

    - **安全性考虑**:在 Web 应用中使用 ImageMagick 时需要注意输入验证,防止恶意用户上传含有恶意代码的图像文件。 #### 八、总结 ImageMagick 是一款功能全面、性能优秀的图像处理工具,尤其适用于 Web 开发场景...

    ImageMagick命令使用文档

    ImageMagick是一款功能强大的图像处理工具,能够执行图像合成、转换、编辑等多种任务。本文档将详细介绍`convert`命令及其各种选项,帮助用户更好地理解和应用这些功能。 #### 二、详细解析 ##### 1. Option-...

    ImageMagick-7.0.10-10.tar.gz

    ImageMagick是一款强大的开源图像处理工具,广泛应用于各种操作系统,包括Linux、Windows和Mac OS等。这个"ImageMagick-7.0.10-10.tar.gz"文件是一个特定版本(7.0.10-10)的ImageMagick的源代码压缩包,以tar.gz...

Global site tag (gtag.js) - Google Analytics