引子
最近项目中, 我们需要管理很多的打印机, 根据机种的不同, 我们需要显示相应的打印机图片,
这其中包含着一定的规则(依赖于使用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是一款强大的开源跨平台图像处理工具,广泛应用于Linux、Windows、Mac OS X等多种操作...总的来说,ImageMagick是图像处理领域中不可或缺的工具,无论是个人使用还是商业项目,都能找到它广阔的应用场景。
Java图片处理工具ImageMagick是一个强大的跨平台图形处理库,它允许开发人员在Java应用程序中进行复杂的图像操作,包括但不限于转换、编辑、合成图像以及处理大量格式的图像文件。ImageMagick是由C语言编写的,但...
在IT行业中,ImageMagick被广泛用于自动化图像处理任务,例如网站的缩略图生成、图像格式转换、批量处理大量图片等。 **主要功能** 1. **图像转换**:ImageMagick可以将一种图像格式转换为另一种格式,支持包括...
例如,你可以使用它来调整图像尺寸、裁剪图片、旋转图像、应用滤镜效果、添加文字水印、进行颜色空间转换、合并多个图像等。此外,ImageMagick还支持批处理模式,可以一次性处理大量图像文件,大大提高了工作效率。 ...
它由C语言编写,以其高效和轻量级的特性而受到广泛赞誉,不会占用过多的系统资源,尤其在处理大量图像时表现优秀。这款工具不仅支持常见的JPEG、PNG、GIF、BMP等格式,还能处理TIFF、DPX、EXR、WebP等专业级别的图像...
在 Linux 中使用 ImageMagick 命令行操作图像文件,可以无需打开图像编辑器进行修改图像文件。convert 命令包含在 ImageMagick 安装包里。ImageMagick 可以安装在 Linux、Mac OS X、Windows 系统中。下载链接为:...
在安装完成后,就可以在命令行中直接使用ImageMagick提供的工具了。 对于PHP开发者来说,ImageMagick可以通过PHP的Imagick扩展进行调用,这样可以在服务器端进行高效且灵活的图像处理。Imagick扩展提供了许多与...
ImageMagick是一款强大的开源图像处理工具,它支持各种图片格式的转换、编辑和合成操作,广泛应用于嵌入式产品开发及各种图形处理需求。在本文中,我们将深入探讨ImageMagick的功能、用法以及它对png、jpg、gif和...
使用ImageMagick给图片在指定位置加文字,可以实现P图软件一样的效果。加上for循环语句,可以实现批量给图片加文字。 关于ImageMagick,是一款免费的命令行图像处理软件,支持windows,linux,Mac OS多平台,下载...
ImageMagick是一个免费的创建、编辑、...ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。
ImageMagick是一款强大的开源跨平台图像处理工具,广泛应用于Java开发环境中,用于对图像进行各种操作,如裁剪、缩放、旋转、合成以及转换图片格式等。它支持多种图像文件格式,包括常见的JPEG、PNG、GIF、BMP以及更...
图像处理是一个多媒体应用中的重要部分,在 Linux 环境下,选择使用的图像处理软件并不多。近来随着 Linux 在桌面应用中的不断壮大,一些图像处理软件也开始从 Windows 和 MacOS 移植到 Linux 环境下。 GIMP 的功能...
ImageMagick是一个强大的跨平台命令行工具集合,用于处理各种图像格式,支持超过200种不同的图像文件格式。它提供了丰富的功能,如图像转换、裁剪、旋转、颜色调整等。在Java环境中,如果想要利用ImageMagick的功能...
要实现基于ImageMagick和Magickwand的Web图像处理,需要在Linux操作系统和PHP语言环境中配置ImageMagick图形处理库和Magickwand for PHP组件。然后,使用PHP语言编写个性化的图像处理函数,调用ImageMagick的图形...
在 Java 中使用 ImageMagick 需要先确认 JDK、Maven 正确安装,然后引入依赖 IM4Java 是 ImageMagick 的 Java API 包,它将 Java 代码转化成对 ImageMagick 的命令行调用。 IM4Java 的作用是将 Java 代码转成对 ...
ImageMagick是一款强大的开源图像处理工具,它支持在命令行环境下进行各种图像操作,包括转换、缩放、旋转、添加文字、加边框以及合成图片等。ImageMagick的便捷之处在于其命令行界面,这使得它在批量处理、自动化...
- **安全性考虑**:在 Web 应用中使用 ImageMagick 时需要注意输入验证,防止恶意用户上传含有恶意代码的图像文件。 #### 八、总结 ImageMagick 是一款功能全面、性能优秀的图像处理工具,尤其适用于 Web 开发场景...
ImageMagick是一款功能强大的图像处理工具,能够执行图像合成、转换、编辑等多种任务。本文档将详细介绍`convert`命令及其各种选项,帮助用户更好地理解和应用这些功能。 #### 二、详细解析 ##### 1. Option-...
ImageMagick是一款强大的开源图像处理工具,广泛应用于各种操作系统,包括Linux、Windows和Mac OS等。这个"ImageMagick-7.0.10-10.tar.gz"文件是一个特定版本(7.0.10-10)的ImageMagick的源代码压缩包,以tar.gz...