首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在命令行中合并图像?

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

Stack Overflow用户
提问于 2013-11-19 23:09:18
回答 3查看 90.6K关注 0票数 142

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-19 23:15:46

你也可以试试ImageMagic,它非常适合创建CSS sprites。关于它的一些教程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
票数 268
EN

Stack Overflow用户

发布于 2015-08-22 17:46:34

你也可以使用ImageMagick的一个更轻更快的分支GraphicsMagick

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的两倍。

票数 33
EN

Stack Overflow用户

发布于 2013-11-19 23:11:52

使用netpbm- pnmcat的包。

您可能需要来回转换您的输入文件才能使用它:

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

编辑:正如用户Hashbrown在评论中指出的那样,这可能会在PNG中遇到不同大小和/或透明度的问题。为了避免这一点,他想出了这个解决方案(只是复制到这里,因为Q是封闭的,不能添加新的答案):

pnmcat -jleft -tb \
    <(pngtopnm image139.png) \
    <(pngtopnm image73.png) \
| pnmtopng \
    -alpha <(pnmcat -black -jleft -tb \
        <(pngtopnm -alpha image139.png) \
        <(pngtopnm -alpha image73.png) \
    ) \
>test.png

不过,我并没有测试这个解决方案。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20075087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档