Class UnitArrayStructure

UnitArrayStructure class

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

public sealed class UnitArrayStructure : OSTypeStructure

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

नामविवरण
UnitArrayStructure(ClassID, UnitTypes, double[])का एक नया उदाहरण प्रारंभ करता हैUnitArrayStructure वर्ग.

गुण

नामविवरण
override Key { get; }इस इकाई सरणी संरचना कुंजी को प्राप्त करता है।
KeyName { get; set; }कुंजी नाम प्राप्त या सेट करता है।
override Length { get; }हो जाता हैOSTypeStructure बाइट्स में लंबाई.
UnitType { get; set; }के माप इकाई प्रकार को प्राप्त या सेट करता हैUnitArrayStructure मान.
ValueCount { get; }मान संख्या प्राप्त करता है.
Values { get; set; }इकाई सरणी संरचना मान प्राप्त या सेट करता है।

तरीकों

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

खेत

नामविवरण
const StructureKey‘अनफ़्ल’ को परिभाषित करता हैUnitArrayStructure कुंजी.

उदाहरण

निम्न कोड 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);
}

यह सभी देखें