如何在Linux命令行中合并图像?

我想尝试使用CSS Sprite技术将一些缩略图加载为单个图像。 所以我需要在服务器中以离线方式“合并”几个缩略图。

假设我有10个相同大小的缩略图。 你会如何build议我从Linux命令行中“合并”它们?

您也可以尝试ImageMagic ,它非常适合创buildCSS精灵。 关于它的一些教程在这里 。 例

convert image1.png image2.png image3.png -append result/result-sprite.png 

您还可以使用GraphicsMagick ,ImageMagick的一个更轻,更快的分支:

 gm convert image1.png image2.png -append combined.png 

合并12个图像的简单时间比较:

 time convert image{1..12}.jpg -append test.jpg real 0m3.178s user 0m3.850s sys 0m0.376s time gm convert image{1..12}.jpg -append test.jpg real 0m1.912s user 0m2.198s sys 0m0.766s 

GraphicsMagick几乎是ImageMagick的两倍。

使用netpbm-package的pnmcat

您可能必须来回转换您的input文件才能使用它:

 pnmcat -lr <(pngtopnm 1.png) <(pngtopnm 2.png) | pnmtopng > all.png