2017-06-20 18 views
0

我有一个文件夹,里面装满了要合并为一张图片的图片,它们彼此相邻。 我试图找到如何与Inkscape和Gimp做到这一点,但我得到的最好的是对齐选项,我手动不得不导入,选择,然后对齐一切...将多张图片组合为一个,并按字母顺序排列它们的名称

有没有办法做到这一点?否则,可以做到这一点的任何其他免费软件?

一个例子:说我有图像文件1,2,3和4。我期望endresult会像 1234 < - 所有这些在一个画面中没有任何间隙和对准所有彼此相邻

1 
2 
3 
4 

即将它们放在彼此之上将是另一个很好的选择。 有什么建议吗?

+1

检查[此相关的问题(https://superuser.com/questions/316132/appending-images-vertical-in-imagemagick),使用imagemagic。 – Juancho

+0

谢谢,这个伎俩! –

回答

0

使用GIMP创建这个功能是可能的,但不是现成的 - 它需要你创建一个Python插件来完成它。既然imagemagick为你工作,那么这么好。但是,如果您需要自定义输出,请查看一些Python插件示例以及GIMP中的Help->Procedure Browser选项,其中显示了对GIMP API的所有可用调用。然后,您需要编写代码来:

  • 通过文件夹中的所有图像文件创建在GIMP
  • 环空的图像:
    • 负荷图像GIMP(pdb.gimp_file_load
    • 延长你目标图像考虑到加载的图像大小(pdb.gimp_image_resize
    • (可选择重新缩放图像)
    • pdb.gimp_edit_copy_visible()在加载的图像上粘贴,推荐到新图层,并在目标图像上定位到正确的偏移量。
    • 调用pdb.gimp_image_delete从GIMP内存中删除加载的图像,然后加载下一个。
  • 保存生成的图像。

如果您想根据任何内部属性对图像进行排序,它会更加复杂 - 您必须首先加载它们,然后才能确定顺序。但是,如果宇想通过文件名排序,他们是用Python的sorted通过文件夹的图片循环时,一个简单的问题:

for image_name in sorted(os.listdir(your_folder)): 
    if not image_name.lower.endswith(('jpg', 'png', ...)): continue 
    ... 
+1

Domo arigato,jsbueno! –