2014-06-19 38 views
2

我对图像工具没有太多了解,但我需要提取包含在psd文件图层中的图像。我试图用“保存所有图层”插件使用GIMP,但这只是保存根层,所以我只用两个.png结束。我需要使用正确尺寸的单独文件中的每个图像。如何从包含单层图像的PSD文件中提取图像

我需要这些文件的原因是我一直在要求用CSS创建一个使用图像的动画。一个例子是动画在http://srv1.contobox.com/frontend/ads/preview.html?id=981

我试图提取的PSD文件是 https://www.dropbox.com/sh/ud2eaesej08o0g3/AAAi-_pPHGESOFOBpA0uQfjta

回答

12

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

(顺便说一句,GIMP不稳定 - 2.9开发版很可能打破当前打开的PSD - 图像打开乱码有它在GIMP 2.8.10打开,虽然)。

它可以保存所有图层 - 包括子图层,作为单独的图像与Python控制台中的交互。 随着你PSD暂时只在GIMP打开图像,进入过滤器 - > 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控制台中列出)