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
Nome | Descrizione |
---|
LclrResource() | Inizializza una nuova istanza diLclrResource classe. |
LclrResource(byte[]) | Inizializza una nuova istanza diLclrResource classe. |
LclrResource(SheetColorHighlightEnum) | Inizializza una nuova istanza diLclrResource classe. |
Proprietà
Nome | Descrizione |
---|
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
Nome | Descrizione |
---|
override Save(StreamContainer, int) | Salva la risorsa nel contenitore del flusso specificato. |
override ToString() | Restituisce aString che rappresenta questa istanza. |
Campi
Nome | Descrizione |
---|
const TypeToolKey | Il 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