Class ObjectArrayStructure

ObjectArrayStructure class

ObjectArrayStructure क्लास को परिभाषित करता है जो आमतौर पर धारण करता हैUnitArrayStructure array. इसका उपयोग PSD फ़ाइल संसाधनों में किया जाता है, जैसे PlLd Resource और SoLd Resource.

public sealed class ObjectArrayStructure : OSTypeStructure

कंस्ट्रक्टर्स

नामविवरण
ObjectArrayStructure(string, string, OSTypeStructure[])का एक नया उदाहरण प्रारंभ करता हैObjectArrayStructure वर्ग.
ObjectArrayStructure(int, ClassID, ClassID, string, OSTypeStructure[])का एक नया उदाहरण प्रारंभ करता हैObjectArrayStructure वर्ग.

गुण

नामविवरण
ClassID { get; set; }ऑब्जेक्ट ऐरे क्लास आईडी प्राप्त या सेट करता है।
ClassName { get; set; }ऑब्जेक्ट सरणी वर्ग नाम प्राप्त या सेट करता है।
override Key { get; }ऑब्जेक्ट सरणी संरचना कुंजी प्राप्त करता है।
KeyName { get; set; }कुंजी नाम प्राप्त या सेट करता है।
override Length { get; }हो जाता हैOSTypeStructure बाइट्स में लंबाई.
StructureCount { get; }ऑब्जेक्ट एरे सबस्ट्रक्चर काउंट प्राप्त करता है।
Structures { get; set; }संरचनाओं की एक सरणी की प्रतिलिपि प्राप्त या सेट करता है।

तरीकों

नामविवरण
virtual GetHeaderLength()हेडर की लंबाई प्राप्त करता है।
Save(StreamContainer)संरचना को निर्दिष्ट स्ट्रीम कंटेनर में सहेजता है।
SaveWithoutKeyName(StreamContainer)संरचना को निर्दिष्ट स्ट्रीम कंटेनर में सहेजता है।

खेत

नामविवरण
const StructureKey‘ओबरा’ संरचना कुंजी की पहचान करता है।

उदाहरण

निम्न कोड ObAr और UnFl हस्ताक्षरों के समर्थन को प्रदर्शित करता है।

[C#]

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));
    }
}

var sourceFilePath = "LayeredSmartObjects8bit2.psd";
using (PsdImage image = (PsdImage)Image.Load(sourceFilePath))
{
    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);
}

यह सभी देखें