在 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:支持 ObAr 和 UnFl 签名

Console.WriteLine("SupportOfObArAndUnFlSignatures executed successfully");

结论

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

常见问题解答

问题1:Aspose.PSD 与最新的.NET框架兼容吗?

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

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

A2:参观 Aspose.PSD 论坛 获得社区支持和讨论。

问题3:我可以在购买之前试用 Aspose.PSD 吗?

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

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

A4:参观 此链接 以获得临时许可选项。

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

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