L’esempio seguente mostra come modificare l’evidenziazione del colore del foglio in Aspose.PSD (impostazione del colore del foglio)
[C#]stringsourceFilePath="AllLclrResourceColors.psd";stringoutputFilePath="AllLclrResourceColorsReversed.psd";// Nel file i colori dell'evidenziazione dei livelli sono in questo ordineSheetColorHighlightEnum[]sheetColorsArr=newSheetColorHighlightEnum[]{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(PsdImageimg=(PsdImage)Image.Load(sourceFilePath)){CheckSheetColorsAndRerverse(sheetColorsArr,img);img.Save(outputFilePath,newPsdOptions());}using(PsdImageimg=(PsdImage)Image.Load(outputFilePath)){// I colori dovrebbero essere invertitiArray.Reverse(sheetColorsArr);CheckSheetColorsAndRerverse(sheetColorsArr,img);}voidCheckSheetColorsAndRerverse(SheetColorHighlightEnum[]sheetColors,PsdImageimg){intlayersCount=img.Layers.Length;for(intlayerIndex=0;layerIndex<layersCount;layerIndex++){Layerlayer=img.Layers[layerIndex];LayerResource[]resources=layer.Resources;foreach(LayerResourcelayerResourceinresources){// La risorsa lcrl è sempre presente nell'elenco delle risorse del file psd.LclrResourceresource=layerResourceasLclrResource;if(resource!=null){if(resource.Color!=sheetColors[layerIndex]){thrownewException("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;}}}}