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
Nombre | Descripció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
Nombre | Descripció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
Nombre | Descripción |
---|
override Save(StreamContainer, int) | Guarda el recurso en el contenedor de flujo especificado. |
override ToString() | Devuelve unString que representa esta instancia. |
Campos
Nombre | Descripción |
---|
const TypeToolKey | La 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