Class LclrResource

LclrResource class

Class LclrResource. Bu kaynak, katmanlar listesindeki katmanın rengi hakkında bilgi içerir: PS. Sadece

public class LclrResource : LayerResource

yapıcılar

İsimTanım
LclrResource()Yeni bir örneğini başlatır.LclrResource sınıf.
LclrResource(byte[])Yeni bir örneğini başlatır.LclrResource sınıf.
LclrResource(SheetColorHighlightEnum)Yeni bir örneğini başlatır.LclrResource sınıf.

Özellikleri

İsimTanım
Color { get; set; }Katmanın rengini alır veya ayarlar.
override Key { get; }Katman kaynak anahtarını alır.
override Length { get; }Katman kaynak uzunluğunu bayt cinsinden alır.
override PsdVersion { get; }psd sürümünü alır.
override Signature { get; }İmzayı alır.

yöntemler

İsimTanım
override Save(StreamContainer, int)Kaynağı belirtilen akış kapsayıcısına kaydeder.
override ToString()a döndürürString bu örneği temsil eder.

Alanlar

İsimTanım
const TypeToolKeyTip aracı bilgi anahtarı.

Örnekler

Aşağıdaki örnek, Aspose.PSD’de (Sayfa rengi ayarı) Sheet Color Highlight’ı nasıl değiştirebileceğinizi gösterir.

[C#]

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

// Dosyada katmanların vurgulama renkleri bu sıradadır.
SheetColorHighlightEnum[] sheetColorsArr = new SheetColorHighlightEnum[] {
    SheetColorHighlightEnum.Red,
    SheetColorHighlightEnum.Orange,
    SheetColorHighlightEnum.Yellow,
    SheetColorHighlightEnum.Green,
    SheetColorHighlightEnum.Blue,
    SheetColorHighlightEnum.Violet,
    SheetColorHighlightEnum.Gray,
    SheetColorHighlightEnum.NoColor
};

// Katman Sayfası Rengi, katmanları görsel olarak vurgulamak için kullanılır. 
// Örneğin, PSD'de bazı katmanları güncelleyebilir ve ardından dikkat çekmek istediğiniz katmanı renklendirerek vurgulayabilirsiniz.
using (PsdImage img = (PsdImage)Image.Load(sourceFilePath))
{
    CheckSheetColorsAndRerverse(sheetColorsArr, img);
    img.Save(outputFilePath, new PsdOptions());
}

using (PsdImage img = (PsdImage)Image.Load(outputFilePath))
{
    // Renkler ters çevrilmeli
    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)
        {
            // lcrl kaynağı her zaman psd dosyası kaynak listesinde bulunur.
            LclrResource resource = layerResource as LclrResource;
            if (resource != null)
            {
                if (resource.Color != sheetColors[layerIndex])
                {
                    throw new Exception("Sheet Color has been read wrong");
                }

                // Stil sayfası renklerinin tersi. Katman rengi vurgulamasının ayarlanması.
                resource.Color = sheetColors[layersCount - layerIndex - 1];
                break;
            }
        }
    }
}

Ayrıca bakınız