gpt4 book ai didi

png - 如何在单个 XCF 图像中将多个 PNG 图像组合为图层?

转载 作者:行者123 更新时间:2023-12-01 23:54:43 26 4
gpt4 key购买 nike

我有几个 PNG 图像,我需要将它们组合成一个新的 GIMP XCF 图像中的各个层。我需要多次执行此任务,因此最好使用基于脚本的解决方案。

到目前为止,我尝试使用 GIMP 的批处理模式,但失败了。

最佳答案

我建议不要使用使用 Scheme 的 script-fu,而是使用 GIMP-Python 绑定(bind),因为它更容易操作文件和列表。

如果您查看 filters->Python->Console您将进入交互模式 - 在其底部,将有一个“浏览”按钮,可让您在其 API 中选择任何 GIMP 程序并将其直接粘贴到此控制台中。

有一个 API 调用来“将文件加载为一个层” - pdb.gimp_file_load_layer -

但是,这会将图像带入内存,但不要将其添加到图像中-您必须调用pdb.gimp_image_insert_layer然后

您可以直接在交互式控制台中键入此内容,或者查看我的其他 GIMP 相关答案之一,或网络上 GIMP-Python 上的一些资源,以将其转换为插件,无需分别粘贴此代码您要执行任务的时间:

def open_images_as_layers(img, image_file_list):
for image_name in image_file_list:
layer = pdb.gimp_file_load_layer(image_name)
pdb.gimp_image_insert_layer(img, layer, None, 0)

img = gimp.image_list()[0]
image_list = "temp1.png temp2.png temp3.png"
open_images_as_layers(img, image_list.split())

倒数第二行 img = ...选择对打开图像的所需引用
在 GIMP 中 - 如果您愿意,还可以使用 pdb 调用创建新图像
(示例如下)。
文件列表是上面代码片段中硬编码的空格分隔字符串,
但是您可以使用 Python 允许的任何方式创建文件列表。
例如,要获取一个文件中的所有“.png”文件名 c:\Documents and Settings\My user\Pictures文件夹,你可以这样做:
from glob import glob
image_list = glob("c:/Documents and Settings/My user/Pictures/*png")

以编程方式创建图像:
img = gimp.Image(1024, 768)
pdb.gimp_display_new(img)

关于png - 如何在单个 XCF 图像中将多个 PNG 图像组合为图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com