Class LclrResource

LclrResource class

Class LclrResource. Questa risorsa contiene informazioni sul colore del livello nell’elenco dei livelli è PS. Sono solo

public class LclrResource : LayerResource

Costruttori

NomeDescrizione
LclrResource()Inizializza una nuova istanza diLclrResource classe.
LclrResource(byte[])Inizializza una nuova istanza diLclrResource classe.
LclrResource(SheetColorHighlightEnum)Inizializza una nuova istanza diLclrResource classe.

Proprietà

NomeDescrizione
Color { get; set; }Ottiene o imposta il colore del livello.
override Key { get; }Ottiene la chiave della risorsa del livello.
override Length { get; }Ottiene la lunghezza della risorsa del livello in byte.
override PsdVersion { get; }Ottiene la versione psd.
override Signature { get; }Ottiene la firma.

Metodi

NomeDescrizione
override Save(StreamContainer, int)Salva la risorsa nel contenitore del flusso specificato.
override ToString()Restituisce aString che rappresenta questa istanza.

Campi

NomeDescrizione
const TypeToolKeyIl tasto informazioni dello strumento testo.

Esempi

L’esempio seguente mostra come modificare l’evidenziazione del colore del foglio in Aspose.PSD (impostazione del colore del foglio)

[C#]

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

// Nel file i colori dell'evidenziazione dei livelli sono in questo ordine
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
    SheetColorHighlightEnum.Red,
    SheetColorHighlightEnum.Orange,
    SheetColorHighlightEnum.Yellow,
    SheetColorHighlightEnum.Green,
    SheetColorHighlightEnum.Blue,
    SheetColorHighlightEnum.Violet,
    SheetColorHighlightEnum.Gray,
    SheetColorHighlightEnum.NoColor
};

// Layer Sheet Color viene utilizzato per evidenziare visivamente i layer. 
// Ad esempio puoi aggiornare alcuni livelli in PSD e quindi evidenziare per colore il livello che desideri attirare l'attenzione.
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
    CheckSheetColorsAndRerverse(sheetColorsArr, img);
    img.Save(outputFilePath, new PsdOptions());
}

using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
    // I colori dovrebbero essere invertiti
    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)
        {
            // La risorsa lcrl è sempre presente nell'elenco delle risorse del file psd.
            LclrResource resource = layerResource as LclrResource;
            if (resource != null)
            {
                if (resource.Color != sheetColors[layerIndex])
                {
                    throw new Exception("Sheet Color has been read wrong");
                }

                // Inversione dei colori del foglio di stile. Impostazione dell'evidenziazione del colore del livello.
                resource.Color = sheetColors[layersCount - layerIndex - 1];
                break;
            }
        }
    }
}

Guarda anche