NameStructure.Value
Contents
[
Hide
]NameStructure.Value property
Gets or sets the value of a Name structure.
public string Value { get; set; }
Examples
The following code demonstrates the support of NameStructure.
[C#]
string inputFile = "Mixer_ipad_Hand_W_crash.psd";
string outputFile = "output.psd";
using (var psdImage = (PsdImage)Image.Load(inputFile, new PsdLoadOptions { DataRecoveryMode = DataRecoveryMode.MaximalRecover }))
{
//// File is loaded successfully
SmartObjectLayer layer = (SmartObjectLayer)psdImage.Layers[3];
SoLdResource resource = (SoLdResource)layer.Resources[9];
DescriptorStructure struct1 = (DescriptorStructure)resource.Items[15];
ListStructure struct2 = (ListStructure)struct1.Structures[5];
DescriptorStructure struct3 = (DescriptorStructure)struct2.Types[0];
DescriptorStructure struct4 = (DescriptorStructure)struct3.Structures[6];
ReferenceStructure struct5 = (ReferenceStructure)struct4.Structures[8];
NameStructure nameStructure = (NameStructure)struct5.Items[0];
AssertIsNotNull(nameStructure);
AssertAreEqual(37, nameStructure.Length);
AssertAreEqual("None\0", nameStructure.Value);
// Save the test file without changes
psdImage.Save(outputFile);
//// File should be opened in PS without mistakes
}
// Check that the structures of Lighting effects are saved correctly
using (var psdImage = (PsdImage)Image.Load(
outputFile,
new PsdLoadOptions { DataRecoveryMode = DataRecoveryMode.MaximalRecover }))
{
SmartObjectLayer layer = (SmartObjectLayer)psdImage.Layers[3];
SoLdResource resource = (SoLdResource)layer.Resources[9];
DescriptorStructure struct1 = (DescriptorStructure)resource.Items[15];
ListStructure struct2 = (ListStructure)struct1.Structures[5];
DescriptorStructure struct3 = (DescriptorStructure)struct2.Types[0];
DescriptorStructure struct4 = (DescriptorStructure)struct3.Structures[6];
ReferenceStructure struct5 = (ReferenceStructure)struct4.Structures[8];
NameStructure nameStructure = (NameStructure)struct5.Items[0];
AssertIsNotNull(nameStructure);
AssertAreEqual(37, nameStructure.Length);
AssertAreEqual("None\0", nameStructure.Value);
}
void AssertAreEqual(object expected, object actual, string message = null)
{
if (!object.Equals(expected, actual))
{
throw new Exception(message ?? "Objects are not equal.");
}
}
void AssertIsNotNull(object actual)
{
if (actual == null)
{
throw new Exception("Object is null.");
}
}
See Also
- class NameStructure
- namespace Aspose.PSD.FileFormats.Psd.Layers.LayerResources.TypeToolInfoStructures
- assembly Aspose.PSD