Class LclrResource

LclrResource class

Klasse LclrResource. Diese Ressource enthält Informationen über die Farbe der Ebene in der Liste der Ebenen ist PS. Es ist nur

public class LclrResource : LayerResource

Konstrukteure

NameBeschreibung
LclrResource()Initialisiert eine neue Instanz vonLclrResource Klasse.
LclrResource(byte[])Initialisiert eine neue Instanz vonLclrResource Klasse.
LclrResource(SheetColorHighlightEnum)Initialisiert eine neue Instanz vonLclrResource Klasse.

Eigenschaften

NameBeschreibung
Color { get; set; }Ruft die Farbe der Ebene ab oder legt sie fest.
override Key { get; }Ruft den Layer-Ressourcenschlüssel ab.
override Length { get; }Ruft die Layer-Ressourcenlänge in Bytes ab.
override PsdVersion { get; }Ruft die PSD-Version ab.
override Signature { get; }Ruft die Signatur ab.

Methoden

NameBeschreibung
override Save(StreamContainer, int)Speichert die Ressource im angegebenen Stream-Container.
override ToString()Gibt a zurückString die diese Instanz darstellt.

Felder

NameBeschreibung
const TypeToolKeyDer Typ-Tool-Info-Schlüssel.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Blattfarbhervorhebung in Aspose.PSD (Blattfarbeinstellung) ändern können.

[C#]

string sourceFilePath = "AllLclrResourceColors.psd";
string outputFilePath = "AllLclrResourceColorsReversed.psd";

// In der Datei sind die Farben der Ebenenhervorhebung in dieser Reihenfolge
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
    SheetColorHighlightEnum.Red,
    SheetColorHighlightEnum.Orange,
    SheetColorHighlightEnum.Yellow,
    SheetColorHighlightEnum.Green,
    SheetColorHighlightEnum.Blue,
    SheetColorHighlightEnum.Violet,
    SheetColorHighlightEnum.Gray,
    SheetColorHighlightEnum.NoColor
};

// Layer Sheet Color wird verwendet, um Layer visuell hervorzuheben. 
// Zum Beispiel können Sie einige Ebenen in PSD aktualisieren und dann die Ebene, die Sie hervorheben möchten, farblich hervorheben.
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
    CheckSheetColorsAndRerverse(sheetColorsArr, img);
    img.Save(outputFilePath, new PsdOptions());
}

using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
    // Farben sollten umgekehrt werden
    Array.Reverse(sheetColorsArr);
    CheckSheetColorsAndRerverse(sheetColorsArr, img);
}

void CheckSheetColorsAndRerverse(SheetColorHighlightEnum[] sheetColors, PsdImage img)
{
    int layersCount = img.Layers.Length;
    for (int layerIndex = 0; layerIndex < layersCount; layerIndex++)
    {
        Layer layer = img.Layers[layerIndex];
        LayerResource[] resources = layer.Resources;
        foreach (LayerResource layerResource in resources)
        {
            // Die lcrl-Ressource wird immer in der Ressourcenliste der PSD-Datei angezeigt.
            LclrResource resource = layerResource as LclrResource;
            if (resource != null)
            {
                if (resource.Color != sheetColors[layerIndex])
                {
                    throw new Exception("Sheet Color has been read wrong");
                }

                // Umkehrung der Stylesheet-Farben. Einrichtung der Ebenenfarbhervorhebung.
                resource.Color = sheetColors[layersCount - layerIndex - 1];
                break;
            }
        }
    }
}

Siehe auch