Class LclrResource

LclrResource class

Class LclrResource. Este recurso contiene información sobre el color de la capa en la lista de capas es PS. Es solo

public class LclrResource : LayerResource

Constructores

NombreDescripción
LclrResource()Inicializa una nueva instancia delLclrResource clase.
LclrResource(byte[])Inicializa una nueva instancia delLclrResource clase.
LclrResource(SheetColorHighlightEnum)Inicializa una nueva instancia delLclrResource clase.

Propiedades

NombreDescripción
Color { get; set; }Obtiene o establece el color de la capa.
override Key { get; }Obtiene la clave de recurso de la capa.
override Length { get; }Obtiene la longitud del recurso de la capa en bytes.
override PsdVersion { get; }Obtiene la versión psd.
override Signature { get; }Obtiene la firma.

Métodos

NombreDescripción
override Save(StreamContainer, int)Guarda el recurso en el contenedor de flujo especificado.
override ToString()Devuelve unString que representa esta instancia.

Campos

NombreDescripción
const TypeToolKeyLa clave de información de la herramienta de tipo.

Ejemplos

El siguiente ejemplo demuestra cómo puede cambiar el resaltado de color de hoja en Aspose.PSD (configuración de color de hoja)

[C#]

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

// En el archivo, los colores de las capas resaltadas están en este orden
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
    SheetColorHighlightEnum.Red,
    SheetColorHighlightEnum.Orange,
    SheetColorHighlightEnum.Yellow,
    SheetColorHighlightEnum.Green,
    SheetColorHighlightEnum.Blue,
    SheetColorHighlightEnum.Violet,
    SheetColorHighlightEnum.Gray,
    SheetColorHighlightEnum.NoColor
};

// El color de hoja de capa se usa para resaltar capas visualmente. 
// Por ejemplo, puede actualizar algunas capas en PSD y luego resaltar con color la capa que desea llamar la atención.
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
    CheckSheetColorsAndRerverse(sheetColorsArr, img);
    img.Save(outputFilePath, new PsdOptions());
}

using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
    // Los colores deben invertirse
    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)
        {
            // El recurso lcrl siempre se presenta en la lista de recursos del archivo psd.
            LclrResource resource = layerResource as LclrResource;
            if (resource != null)
            {
                if (resource.Color != sheetColors[layerIndex])
                {
                    throw new Exception("Sheet Color has been read wrong");
                }

                // Inverso de los colores de la hoja de estilo. Configuración del resaltado de color de capa.
                resource.Color = sheetColors[layersCount - layerIndex - 1];
                break;
            }
        }
    }
}

Ver también