Free Support Forum - aspose.com

Psd图层删除保存

可以对psd文件解析出来的图层进行删除并保存?

@xielong

您能详细说明一下要求吗? 您删除的图层将不再保留。 您可以通过加载PSD并删除要保留并另存为新PSD文件的图层来达到此要求。 这样,您将拥有一个PSD,其中包含您实际上想要从源文件中删除的PSD。

实际的场景,就是删除图层并替换为新添加的图层,所以第一步先要支持在源PSD基本上直接删除图层。您上面的这种方案,是可以但API操作比较繁琐,以及耗性能,另存为PSD的方式,如果还想继续编辑,还得重新加载下新的PSD文件再进行操作。所以,希望有直接对图层进行增删操作的API支持。

@xielong

您能否与我们共享示例代码,源文件和所需的输出。
之前,您提到您对保存已删除的图层感兴趣。 有了共享的新要求,您可以动态地从PSD移除图层,添加新图层,然后最终保存PSD。

Psd移除图层,相应的示例代码是否可提供下?

获取 Outlook for iOS

如何动态地从PSD移除图层?是否有相应的示例代码?另外PsdImage对象,目前只看到有添加addLayer添加图层方法,未看到有相应的removeLayer方法。是否可提供相应的删除图层方法?

@xielong

我们需要对此进行调查。 我们已在问题跟踪系统中创建了ID为PSDNET-849 的票证,以进一步调查和解决问题。 该线程已与问题联系在一起,因此一旦问题解决,您可能会收到通知。

收到,非常感谢。可问下,大概何时会出修复补丁或新版本Jar包?

@xielong

目前,API没有从PsdImage删除图层的方法。要从PsdImage中删除图层,客户可以使用以下代码示例:

        string sourceFile = "psdImage.psd";
        using (var image = (PsdImage)Image.Load(sourceFile))
        {
            var layersList = new List<Layer>(image.Layers); // gets all PsdImage layers as layer List

            layersList.RemoveAt(0); // remove layer from list

            image.Layers = layersList.ToArray(); // sets updated layer list back to PsdImage
        }

收到,非常感谢

获取 Outlook for iOS

@xielong
随时欢迎你