Class PtFlResource

PtFlResource class

Sınıf PtFlResource. Desen Dolgu Katmanı Verilerini İçerir.

public class PtFlResource : FillLayerResource

yapıcılar

İsimTanım
PtFlResource(string, string)Yeni bir örneğini başlatır.PtFlResource sınıf.

Özellikleri

İsimTanım
AlignWithLayer { get; set; }[Katmanla hizala] olup olmadığını belirten bir değer alır veya ayarlar.
IsLinkedWithLayer { get; set; }Bu örneğin layer. ile bağlantılı olup olmadığını gösteren bir değer alır veya ayarlar.
override Key { get; }Katman kaynak anahtarını alır.
override Length { get; }Katman kaynak uzunluğunu bayt cinsinden alır.
Offset { get; set; }Ofseti alır veya ayarlar.
PatternId { get; set; }Model tanımlayıcısını alır veya ayarlar.
PatternName { get; set; }Modelin adını alır veya ayarlar.
override PsdVersion { get; }Katman kaynağı için gereken minimum psd sürümünü alır. 0 kısıtlama olmadığını gösterir.
Scale { get; set; }Ölçeği alır veya ayarlar.
override Signature { get; }Katman kaynak imzasını 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, bir PtFlResource kaynağını yükleme ve düzenleme desteğini gösterir.

[C#]

string sourceFileName = "PatternFillLayer.psd";
string exportPath = "PtFlResource_Edited.psd";
double tolerance = 0.0001;
var im = (PsdImage)Image.Load(sourceFileName);
using (im)
{
    foreach (var layer in im.Layers)
    {
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;
            var resources = fillLayer.Resources;
            foreach (var res in resources)
            {
                if (res is PtFlResource)
                {
                    // Okuma
                    PtFlResource resource = (PtFlResource)res;
                    if (
                        resource.Offset.X != -46 ||
                        resource.Offset.Y != -45 ||
                        resource.PatternId != "a6818df2-7532-494e-9615-8fdd6b7f38e5\0" ||
                        resource.PatternName != "$$$/Presets/Patterns/OpticalSquares=Optical Squares\0" ||
                        resource.AlignWithLayer != true ||
                        resource.IsLinkedWithLayer != true ||
                        !(Math.Abs(resource.Scale - 50) < tolerance))
                    {
                        throw new Exception("PtFl Resource was read incorrect");
                    }

                    // düzenleme
                    resource.Offset = new Point(-11, 13);
                    resource.Scale = 200;
                    resource.AlignWithLayer = false;
                    resource.IsLinkedWithLayer = false;
                    fillLayer.Resources = fillLayer.Resources;
                    // Verileri PattResource'ta modellemedik, bu yüzden onu ekleyebiliriz.
                    var fillSettings = (PatternFillSettings)fillLayer.FillSettings;
                    fillSettings.PatternData = new int[]
                    {
                        Color.Black.ToArgb(),
                        Color.White.ToArgb(),
                        Color.White.ToArgb(),
                        Color.White.ToArgb(),
                    };
                    fillSettings.PatternHeight = 1;
                    fillSettings.PatternWidth = 4;
                    fillSettings.PatternName = "$$$/Presets/Patterns/VerticalLine=Vertical Line New\0";
                    fillSettings.PatternId = Guid.NewGuid().ToString() + "\0";
                    fillLayer.Update();
                }
                break;
            }
            break;
        }
    }

    im.Save(exportPath);
}

Ayrıca bakınız