使用ImageMagick处理图片

简介

ImageMagick 是一个跨平台图像处理软件, 可以在命令行中完成绝大多数图像处理。

优势

ImageMagick 通过命令行调用, 在批量处理图片时有很大优势.

虽然 PhotoShop, 也默认提供了部分脚本, 但是其功能过于简单, 而且执行起来非常慢(感觉就像是在执行一个Action)

Install

可以访问 [ImageMagick](http://www.imagemagick.org/) 的官网, 获取安装包

[http://www.imagemagick.org/](http://www.imagemagick.org/)

ImageMagick 没有提供 deb 安装包

在 Ubuntu 下, 可以使用 apt-get 来获取 imagemagick

sudo apt-get install imagemagick

使用

ImageMagick 官方提供了一些示例:

http://www.imagemagick.org/Usage/

下面命令生成一张 TyyBlog 的文字图片

convert label:TyyBlog label.gif

简单的做一下修改:

- 字体大小: 72

- 背景色: lightblue

- 字体颜色: ‘#262a30’(接近于黑色)

- 字体: Ubuntu (这个字体只在 Ubuntu 下有, 其它系统换成别的字体就行)

- 图片格式: png

convert -background lightblue -fill ‘#262a30’ -font Ubuntu -pointsize 72 label:TyyBlog ImageMagick-text.png

> 颜色的格式 ImageMagick 除了常用的颜色名之外, 也支持RGB, Hex

> 关于颜色的详情, 可以翻阅 http://www.imagemagick.org/script/color.php

细心的小伙伴会发现, 中文会变成”??”

我们可以将文字放在文件里, 通过读取文件来做.

例如, 我们显示 “博主身高2米8” (不小心暴露了我的伟岸.)

新建一个名为 `fileText` 的文件, 存放文字.

需要注意的是, 文本编码必须使用 **无 BOM 的 UTF8**.

> Note: 因为 Ubuntu 字体并没有中文, 所以我们要换一个字体啦.

> 可以使用下面命令来查看都有哪些字体

> `convert -list font`

> 你也可以引入字体文件

这里, 我使用 Ubuntu 下 的 `AR-PL-UKai-CN`

> Note: 将文字放入文本之中, 也方便生成长文本的文字图片.

convert -background lightblue -fill ‘#262a30’ -font ‘AR-PL-UKai-CN’ -pointsize 72 label:@fileText ImageMagick-fileText.gif

实用例子

制作好 Logo 之后, 将其保存为 `icon.png`

> Note: `favicon.ico` 在浏览器的标签页中显示, 作为网站的 icon

> 它通常由 16x16, 32x32, 48x48, 64x64 这四个尺寸的图片组成.

然后在同一目录下执行以下脚本:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store