LnkeResource Class
Defines the LnkeResource class that contains information about external linked files or assets in the PSD format image. The link resource may contain several LiFeDataSource instances which can be accessed by indexer. This is a part of PSD File Format Manipulation API that helps to modify Adobe® Photoshop® files programmatically
Inheritance Hierarchy
SystemObject
  Aspose.PSD.FileFormats.Psd.LayersLayerResource
    Aspose.PSD.FileFormats.Psd.Layers.LayerResourcesLinkResource
      Aspose.PSD.FileFormats.Psd.Layers.LayerResourcesLnkeResource

Namespace: Aspose.PSD.FileFormats.Psd.Layers.LayerResources
Assembly: Aspose.PSD (in Aspose.PSD.dll) Version: 21.12
Syntax
public class LnkeResource : LinkResource

The LnkeResource type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyDataSourceCount
Gets the count of link data sources which can be accessed by the indexer.
(Inherited from LinkResource.)
Public propertyIsEmpty
Gets a value indicating whether this link resource instance is empty.
(Inherited from LinkResource.)
Public propertyCode exampleItemGuid
Gets the LinkDataSource at the specified index which is the link data source unique identifier..
(Inherited from LinkResource.)
Public propertyItemInt32
Gets the LiFeDataSource at the specified index.
Public propertyKey
Gets the Adobe® Photoshop® global resource key.
(Overrides LayerResourceKey.)
Public propertyLength
Gets the PSD global link resource length in bytes.
(Inherited from LinkResource.)
Public propertyPsdVersion
Gets the PSD format version.
(Inherited from LinkResource.)
Public propertySignature
Gets the PSD global link resource signature.
(Inherited from LinkResource.)
Methods
  NameDescription
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodSave
Saves the resource block data.
(Inherited from LinkResource.)
Protected methodSaveResourceHeader
Saves the resource header.
(Inherited from LayerResource.)
Public methodToString
Returns a String that represents this instance.
(Inherited from LayerResource.)
Fields
  NameDescription
Public fieldStatic memberTypeToolKey
The type tool info key.
Examples
The following code demonstrates the support of the LnkeResource resource.
[C#]

void AssertIsTrue(bool condition)
{
    if (!condition)
    {
        throw new FormatException(string.Format("Expected true"));
    }
}

void AssertAreEqual(object actual, object expected)
{
    if (!object.Equals(actual, expected))
    {
        throw new FormatException(string.Format("Actual value {0} are not equal to expected {1}.", actual, expected));
    }
}

object[] ComplexLnkEResourceSupportCases = new object[]
{
                new object[]
                {
                    "10fc87d0-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/or hdr btns” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633541.0d,
                    "uuid:8485ca8d-9496-7f4d-9ef7-4243a00d4161",
                    "OneReview-InDesign-InContextTranslation",
                    "or hdr btns.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b4
                },
                new object[]
                {
                    "10fc87cc-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs Id icon” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633512.0d,
                    "uuid:c18be832-adf7-4b43-8223-a9740807a66c",
                    "OneReview-InDesign-InContextTranslation",
                    "cs Id icon.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b0
                },
                new object[]
                {
                    "10fef79c-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/pointer cursor” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633570.0d,
                    "uuid:9d7ccaac-f094-214b-8721-1a07ae8700a9",
                    "OneReview-InDesign-InContextTranslation",
                    "pointer cursor.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x03c0
                },
                new object[]
                {
                    "10fef79a-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/x” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633555.0d,
                    "uuid:b28aa699-21d6-2d4d-a4c7-790234c1b6ba",
                    "OneReview-InDesign-InContextTranslation",
                    "x.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x38c
                },
                new object[]
                {
                    "10fef79b-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/modal btns” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633562.0d,
                    "uuid:1bd42767-058d-da44-bdee-eada3b9d40a5",
                    "OneReview-InDesign-InContextTranslation",
                    "modal btns.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b0
                },
                new object[]
                {
                    "10fc87cd-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs ppt icon” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633519.0d,
                    "uuid:215499ac-ac44-b44d-894b-9ff2c7008d9d",
                    "OneReview-InDesign-InContextTranslation",
                    "cs ppt icon.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b4
                },
                new object[]
                {
                    "10fc87cf-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs AI icon” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633534.0d,
                    "uuid:a67964d4-8682-d649-8118-474cb1776264",
                    "OneReview-InDesign-InContextTranslation",
                    "cs AI icon.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b0
                },
                new object[]
                {
                    "10fc87ce-688f-1179-9685-9d0a040abdc3",
                    @"CC Libraries Asset “OneReview-InDesign-InContextTranslation/cs PSD icon” (Feature is available in Photoshop CC 2015)",
                    "01/01/0001 00:00:00",
                    1463698633527.0d,
                    "uuid:8e9d5745-9f23-6f49-968e-647a45811bcb",
                    "OneReview-InDesign-InContextTranslation",
                    "cs PSD icon.ai",
                    0L,
                    "",
                    6,
                    "unlicensed",
                    false,
                    0x3b4
                },
};

void ExampleOfComplexLnkEResourceSupport(string filePath, int length, int length2, object[] dataSourceExpectedValues)
{
    filePath = @"PSDNET652_1\" + filePath;
    string fileName = Path.GetFileName(filePath);
    using (PsdImage image = (PsdImage)Image.Load(filePath))
    {
        LnkeResource lnkeResource = null;
        foreach (var resource in image.GlobalLayerResources)
        {
            lnkeResource = resource as LnkeResource;
            if (lnkeResource != null)
            {
                AssertAreEqual(lnkeResource.DataSourceCount, 8);
                AssertAreEqual(lnkeResource.Length, length);
                AssertAreEqual(lnkeResource.IsEmpty, false);

                for (int i = 0; i < lnkeResource.DataSourceCount; i++)
                {
                    LiFeDataSource liFeSource = lnkeResource[i];
                    object[] expected = (object[])dataSourceExpectedValues[i];
                    AssertAreEqual(liFeSource.Type, LinkDataSourceType.liFE);
                    AssertAreEqual(liFeSource.UniqueId, new Guid((string)expected[0]));
                    AssertAreEqual(liFeSource.FullPath, expected[1]);
                    AssertAreEqual(liFeSource.Date.ToString(CultureInfo.InvariantCulture), expected[2]);
                    AssertAreEqual(liFeSource.AssetModTime, expected[3]);
                    AssertAreEqual(liFeSource.ChildDocId, expected[4]);
                    AssertAreEqual(liFeSource.FileName, expected[5]);
                    AssertAreEqual(liFeSource.OriginalFileName, expected[6]);
                    AssertAreEqual(liFeSource.FileSize, expected[7]);
                    AssertAreEqual(liFeSource.FileType, expected[8]);
                    AssertAreEqual(liFeSource.FileCreator.TrimEnd(' '), string.Empty);
                    AssertAreEqual(liFeSource.Version, expected[9]);
                    AssertAreEqual(liFeSource.AdobeStockLicenseState, expected[10]);
                    AssertAreEqual(liFeSource.HasFileOpenDescriptor, (bool)expected[11]);

                    if (liFeSource.HasFileOpenDescriptor)
                    {
                        AssertAreEqual(liFeSource.CompId, -1);
                        AssertAreEqual(liFeSource.OriginalCompId, -1);
                        liFeSource.CompId = int.MaxValue;
                    }

                    liFeSource.FullPath = @"file:///C:/Aspose/net/Aspose.Psd/test/testdata/Images/Psd/SmartObjects/rgb8_2x2.png";
                    liFeSource.FileName = "rgb8_2x23.png";
                    liFeSource.ChildDocId = Guid.NewGuid().ToString();
                    liFeSource.Date = DateTime.Now;
                    liFeSource.AssetModTime = double.MaxValue;
                    liFeSource.FileSize = long.MaxValue;
                    liFeSource.FileType = "test";
                    liFeSource.FileCreator = "file";
                    AssertAreEqual((int)liFeSource.Length, expected[12]);
                }

                AssertAreEqual(lnkeResource.Length, length2);
                break;
            }
        }

        AssertIsTrue(lnkeResource != null);
    }
}

ExampleOfComplexLnkEResourceSupport(
    "OneReview-InDesign-RefreshPreviewIxD(2).psd",
    0x21ac,
    0x1db8,
    ComplexLnkEResourceSupportCases);
See Also