GraphicsMagick是一个用于处理图像的读取、写入和操作的工具软件。它被誉为图像处理领域的“瑞士军刀”,短小精悍,支持超过88种图像格式,包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF等。
GraphicsMagick的主要特点包括:
- 高效:通过使用OpenMP,GraphicsMagick可以利用多线程进行图片处理,从而增强通过扩展CPU提高处理能力。
- 易于安装:GraphicsMagick的代码较小,更容易安装,并且在绝大多数的平台上都能使用,包括Linux、Mac和Windows。
- 支持大图片处理:GraphicsMagick已经进行过GB级别的图像处理实验,能够支持大图片的处理。
- 动态生成图片:特别适用于互联网应用,能够动态的生成图片。
- 多种用途:GraphicsMagick可以用来处理图像的多种操作,如调整尺寸、旋转、加亮、颜色调整、增加特效等。
- 支持多种编程语言:不仅支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、Ruby等编程语言的调用。
GraphicsMagick是从ImageMagick的一个分支发展而来的,但在某些方面,如效率、安装方便性和稳定性等方面,GraphicsMagick表现得更优秀。此外,GraphicsMagick的手册也非常丰富,为用户提供了大量的帮助信息。
缘起:
装这个软件是为了将Blender里面生成的png序列图片转为gif动画。
刚开始问文心一言,如何在freebsd下将png图片输出为gif文件?它回答:
在 FreeBSD 下,你可以使用 ImageMagick
或 GraphicsMagick
这样的图像处理工具来将 PNG 图片转换为 GIF 文件。
结果在FreeBSD下怎么也找不到ImageMagick的包,后来就装了GraphicsMagick 。再后来才知道这两者的渊源。
安装GraphicsMagick
pkg install GraphicsMagick
安装的时候竟然把blender又安装了一遍
使用GraphicsMagick
装好之后在xfce4菜单里没有找到,在命令行键入GraphicsMagick也提示没有这个命令,后来才知道其命令是gm ,真是一个有个性的软件啊!
比如将一组png文件生成一个gif动画,命令:
gm convert *.png out.gif
下面是更多例子
GraphicsMagick
命令示例
以下是一些GraphicsMagick命令的例子:
-
转换图像格式:
gm convert input.jpg output.png
这个命令将
input.jpg
图像转换为output.png
格式的图像。 -
调整图像大小:
gm convert input.jpg -resize 800x600 output.jpg
这个命令将
input.jpg
图像调整为800x600像素大小,并保存为output.jpg
。 -
旋转图像:
gm convert input.jpg -rotate 90 output.jpg
这个命令将
input.jpg
图像顺时针旋转90度,并保存为output.jpg
。 -
裁剪图像:
gm convert input.jpg -crop 200x200+100+100 output.jpg
这个命令从
input.jpg
图像中裁剪出一个200x200像素大小的区域,并从坐标(100,100)处开始裁剪,然后保存为output.jpg
。 -
在图像上添加文字:
gm convert input.jpg -font /path/to/font.ttf -pointsize 24 -fill white -draw "text 10,50 'Hello, GraphicsMagick!'" output.jpg
这个命令在
input.jpg
图像的(10,50)位置添加白色文字"Hello, GraphicsMagick!",字体文件为/path/to/font.ttf
,字体大小为24点,然后保存为output.jpg
。 -
从GIF文件中抽取第一帧:
gm convert input.gif[0] output.jpg
这个命令从
input.gif
GIF动画中抽取第一帧,并保存为output.jpg
。 -
合并两个图像:
gm composite -geometry +10+10 watermark.png input.jpg output.jpg
这个命令将
watermark.png
水印图像叠加到input.jpg
图像的(10,10)位置,并保存为output.jpg
。 -
创建缩略图:
gm convert input.jpg -resize 100x100^ -gravity center -extent 100x100 thumbnail.jpg
这个命令创建一个100x100像素的缩略图。
-resize 100x100^
保持图像的比例,但不超过100x100像素;-gravity center
设置裁剪的重力点为中心;-extent 100x100
裁剪图像到确切的100x100像素大小。