我想尝试CSS Sprite技术将一些缩略图加载为单个图像。所以我需要在服务器中离线单个文件中“合并”一些缩略图。
假设我有10个相同大小的缩略图。您如何建议我从Linux命令行“合并”它们?
答案 0 :(得分:156)
您还可以尝试ImageMagic,它非常适合创建CSS精灵。关于它的一些教程here。
示例(垂直精灵):
convert image1.png image2.png image3.png -append result/result-sprite.png
示例(水平精灵):
convert image1.png image2.png image3.png +append result/result-sprite.png
答案 1 :(得分:23)
您还可以使用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的两倍。
答案 2 :(得分:6)
使用netpbm-package的pnmcat
。
您可能需要来回转换输入文件才能使用它:
pnmcat -lr <(pngtopnm 1.png) <(pngtopnm 2.png) | pnmtopng > all.png
答案 3 :(得分:3)
如果您希望从左到右合并图片,请使用以下命令:
convert image{1..0}.png +append result/result-sprite.png
请注意 +append
,而不是 -append
。