在 Aspose.PSD for .NET 中支持 ObAr 和 UnFl 签名

介绍

在.NET 开发领域,Aspose.PSD 作为操作和处理 Photoshop 文件的强大工具脱颖而出。在其丰富的功能中,支持 ObAr 和 UnFl 签名对于高级图像编辑至关重要。本教程将指导您完成整个过程,分解每个步骤以确保无缝实施。

先决条件

在深入学习本教程之前,请确保您具备以下先决条件:

  • .NET 编程的基础知识。
  • 已安装 Aspose.PSD for .NET。如果没有的话可以下载这里.
  • 用于测试的示例 PSD 文件。您可以使用文档目录中的“LayeredSmartObjects8bit2.psd”。

导入命名空间

确保为 .NET 项目导入必要的命名空间以利用 Aspose.PSD 功能:

using System;
using Aspose.PSD.FileFormats.Psd;
using Aspose.PSD.FileFormats.Psd.Layers;
using Aspose.PSD.FileFormats.Psd.Layers.LayerResources;
using Aspose.PSD.FileFormats.Psd.Layers.LayerResources.TypeToolInfoStructures;

现在,让我们深入了解分步指南。

第 1 步:加载 PSD 图像

string baseFolder = "Your Document Directory";
string sourceFilePath = baseFolder + "LayeredSmartObjects8bit2.psd";

using (PsdImage image = (PsdImage)Image.Load(sourceFilePath))
{
    //您的图像处理代码位于此处
}

第 2 步:支持 ObAr 和 UnFl 签名

//ExStart:SupportOfObArAndUnFlSignatures
void AssertAreEqual(object actual, object expected)
{
    //你的断言逻辑在这里
}

UnitArrayStructure verticalStructure = null;

foreach (Layer imageLayer in image.Layers)
{
    foreach (var imageResource in imageLayer.Resources)
    {
        var resource = imageResource as PlLdResource;

        if (resource != null && resource.IsCustom)
        {
            foreach (OSTypeStructure structure in resource.Items)
            {
                if (structure.KeyName.ClassName == "customEnvelopeWarp")
                {
                    AssertAreEqual(typeof(DescriptorStructure), structure.GetType());
                    var custom = (DescriptorStructure)structure;
                    AssertAreEqual(custom.Structures.Length, 1);
                    var mesh = custom.Structures[0];
                    AssertAreEqual(typeof(ObjectArrayStructure), mesh.GetType());
                    var meshObjectArray = (ObjectArrayStructure)mesh;
                    AssertAreEqual(meshObjectArray.Structures.Length, 2);
                    var vertical = meshObjectArray.Structures[1];
                    AssertAreEqual(typeof(UnitArrayStructure), vertical.GetType());
                    verticalStructure = (UnitArrayStructure)vertical;
                    AssertAreEqual(verticalStructure.UnitType, UnitTypes.Pixels);
                    AssertAreEqual(verticalStructure.ValueCount, 16);

                    break;
                }
            }
        }
    }
}

AssertAreEqual(true, verticalStructure != null);
//ExEnd:SupportOfObArAndUnFlSignatures

Console.WriteLine("SupportOfObArAndUnFlSignatures executed successfully");

结论

恭喜!您已在 Aspose.PSD for .NET 中成功实现了对 ObAr 和 UnFl 签名的支持。此功能为 .NET 应用程序中的高级图像编辑和操作开辟了新的可能性。

常见问题解答

Q1:Aspose.PSD 与最新的.NET 框架兼容吗?

A1:Aspose.PSD定期更新其兼容性。请参阅文档了解最新信息。

Q2:在哪里可以找到对 Aspose.PSD 的支持?

A2:访问Aspose.PSD 论坛以获得社区支持和讨论。

Q3: 我可以在购买前试用Aspose.PSD吗?

A3:是的,您可以探索免费试用版。这里.

Q4:如何获得Aspose.PSD的临时许可证?

A4:参观这个链接用于临时许可选项。

Q5:哪里可以购买 Aspose.PSD for .NET?

A5:可以购买Aspose.PSD这里.