如何从PSD文件中提取图像,包括单个图层中包含的图像

3
我对图像工具的知识不多,但我需要提取psd文件中包含的图像层。我尝试使用带有“保存所有图层”插件的GIMP,但这只是保存了根图层,所以最终只得到了两个.png文件。我需要将每个图像保存为单独的文件,并保持正确的大小。
我需要这些文件的原因是,我需要使用这些图像创建CSS动画。一个示例动画位于http://srv1.contobox.com/frontend/ads/preview.html?id=981 我要提取的psd文档在https://www.dropbox.com/sh/ud2eaesej08o0g3/AAAi-_pPHGESOFOBpA0uQfjta
1个回答

13

问题在于这些文件是使用图层组结构组织的(我只打开了其中一个)。 虽然GIMP支持打开文件,但您正在使用的“保存所有图层”插件可能不知道图层组。

(顺便说一下,GIMP不稳定——2.9开发版本目前可能无法正确打开PSD文件——图像会乱码。但在GIMP 2.8.10中可以打开。)

可以通过Python控制台的交互以保存所有图层(包括子图层)为单独的图像。 在GIMP中只打开PSD图像后,转到过滤器->python->控制台并输入类似以下内容的命令:

img = gimp.image_list()[0]  # retrieves a reference to the image

folder = "/tmp/" # folder of you choice for saving the files
counter = 0
def save_recurse(item):
    global counter 
    if hasattr(item, "layers"):
        for layer in reversed(item.layers):
            save_recurse(layer)
    else:
        counter += 1
        name = folder + "layer_%03d.png" % counter
        pdb.gimp_file_save(img, item, name, name)


save_recurse(img)

(顺便说一下,我在这里输入的方式可以让您直接复制并粘贴上面的列表到GIMP的Python控制台中)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接