Node.js 如何将多个图像合并为一个具有精确位置和大小的图像,以使用graphicsmagick创建精灵图纸?

Node.js 如何将多个图像合并为一个具有精确位置和大小的图像,以使用graphicsmagick创建精灵图纸?,node.js,imagemagick,graphicsmagick,Node.js,Imagemagick,Graphicsmagick,我正在尝试使用graphicmagick(或imagesmagick)将多个图像组合成一个图像,所有图像都具有不同的尺寸和大小。理想情况下,它应该是这样的图像: 我已经在论坛和谷歌搜索了好几天,想弄清楚如何准确地做到这一点,但我对图像处理非常陌生,现在对如何在nodejs中做到这一点感到茫然 在所附的图片中,我想说15个不同的图片需要合并成一个。这里有3个使用ImageMagick和蒙太奇的例子。使用-geometry+X+Y分别设置间距和-tile XxY设置列数和行数 输入图像:

我正在尝试使用graphicmagick(或imagesmagick)将多个图像组合成一个图像,所有图像都具有不同的尺寸和大小。理想情况下,它应该是这样的图像:

我已经在论坛和谷歌搜索了好几天,想弄清楚如何准确地做到这一点,但我对图像处理非常陌生,现在对如何在nodejs中做到这一点感到茫然


在所附的图片中,我想说15个不同的图片需要合并成一个。

这里有3个使用ImageMagick和蒙太奇的例子。使用-geometry+X+Y分别设置间距和-tile XxY设置列数和行数

输入图像:

如果你需要更多信息,请告诉我

如果所有文件都在一个目录中,并且按照字母顺序,希望根据-tile参数显示这些文件,那么可以将目录更改为该目录并执行以下操作:

蒙太奇*-几何+10+10-瓷砖XxY结果

还可以更改背景色、添加标签和/或边框。看


你的ImageMagick版本是什么?如果我是6岁,那么上述方法应该有效。Windows用户可能需要使用path2\convert.exe,其中path2是imagemagick convert的路径(与Windows convert相反);或者重命名ImageMagick convert。如果是ImageMagick 7,则使用“magick蒙太奇”而不是“蒙太奇”。

这可能有助于。。。谢谢,帮了一些忙,但不多。使用bash和我实际上看不到他们在任何地方使用graphics/imagemagickSee Imagemagick蒙太奇命令。如果需要,您可以避免标签并调整间距,使其看起来与示例类似。但是,每个图像都将在其自己的单元格(平铺)中。谢谢@fmw42。我想蒙太奇方法和几何标志可能是我所需要的。不过,我找不到好的例子。有任何代码示例或基本片段可以让它开始吗?非常感谢。这很有帮助。我认为我最大的问题是我似乎不知道如何在nodejs中实现它。我需要将这些操作作为我正在构建的应用程序的一部分。我已经默认使用这个gm包装器来完成这项工作,但希望我可以通过您的示例来完成()对不起,我对节点一无所知如果您需要精灵精确放置,而不是在规则间隔的行和列中,然后,您需要在每个图像上编写一个脚本循环,使用convert background sprite-geometry+X+Y compose over-composite background将每个sprite a放置到所需的X,Y位置,并在每次合成后使用相同的名称进行更新。最后,使用节点画布解决了我想要实现的问题。
montage shading.gif present.gif medical.gif balloon.gif -tile 4x1 -geometry +10+10 montage1.jpg
montage shading.gif present.gif medical.gif balloon.gif -tile 2x2 -geometry +10+10 montage2.jpg
montage shading.gif present.gif medical.gif -tile 2x2 -geometry +10+10 montage3.jpg