Class LclrResource
LclrResource class
Classe LclrResource. Cette ressource contient des informations sur la couleur du calque dans la liste des calques est PS. C’est seulement
public class LclrResource : LayerResource
Constructeurs
Nom | La description |
---|
LclrResource() | Initialise une nouvelle instance duLclrResource classe. |
LclrResource(byte[]) | Initialise une nouvelle instance duLclrResource classe. |
LclrResource(SheetColorHighlightEnum) | Initialise une nouvelle instance duLclrResource classe. |
Propriétés
Nom | La description |
---|
Color { get; set; } | Obtient ou définit la couleur du calque. |
override Key { get; } | Obtient la clé de ressource de couche. |
override Length { get; } | Obtient la longueur de la ressource de couche en octets. |
override PsdVersion { get; } | Obtient la version psd. |
override Signature { get; } | Obtient la signature. |
Méthodes
Nom | La description |
---|
override Save(StreamContainer, int) | Enregistre la ressource dans le conteneur de flux spécifié. |
override ToString() | Renvoie unString qui représente cette instance. |
Des champs
Nom | La description |
---|
const TypeToolKey | La clé d’informations sur l’outil de type. |
Exemples
L’exemple suivant montre comment vous pouvez modifier la surbrillance de la couleur de feuille dans Aspose.PSD (paramètre de couleur de feuille)
[C#]
string sourceFilePath = "AllLclrResourceColors.psd";
string outputFilePath = "AllLclrResourceColorsReversed.psd";
// Dans le fichier, les couleurs de surbrillance des calques sont dans cet ordre
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
SheetColorHighlightEnum.Red,
SheetColorHighlightEnum.Orange,
SheetColorHighlightEnum.Yellow,
SheetColorHighlightEnum.Green,
SheetColorHighlightEnum.Blue,
SheetColorHighlightEnum.Violet,
SheetColorHighlightEnum.Gray,
SheetColorHighlightEnum.NoColor
};
// La couleur de la feuille de calque est utilisée pour mettre en surbrillance visuellement les calques.
// Par exemple, vous pouvez mettre à jour certains calques dans PSD, puis mettre en surbrillance par couleur le calque sur lequel vous souhaitez attirer l'attention.
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
CheckSheetColorsAndRerverse(sheetColorsArr, img);
img.Save(outputFilePath, new PsdOptions());
}
using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
// Les couleurs doivent être inversées
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 ressource lcrl est toujours présente dans la liste des ressources du fichier psd.
LclrResource resource = layerResource as LclrResource;
if (resource != null)
{
if (resource.Color != sheetColors[layerIndex])
{
throw new Exception("Sheet Color has been read wrong");
}
// Inverser les couleurs de la feuille de style. Configuration de la surbrillance de la couleur du calque.
resource.Color = sheetColors[layersCount - layerIndex - 1];
break;
}
}
}
}
Voir également