Class PtFlResource

PtFlResource class

Klass PtFlResource. Innehåller mönsterfyllningslagerdata.

public class PtFlResource : FillLayerResource

Konstruktörer

namnBeskrivning
PtFlResource(string, string)Initierar en ny instans avPtFlResource class.

Egenskaper

namnBeskrivning
AlignWithLayer { get; set; }Hämtar eller ställer in ett värde som anger om [justera med lager].
IsLinkedWithLayer { get; set; }Hämtar eller ställer in ett värde som anger om denna instans är länkad med lager.
override Key { get; }Hämtar lagerresursnyckeln.
override Length { get; }Hämtar lagerresurslängden i byte.
Offset { get; set; }Hämtar eller ställer in offset.
PatternId { get; set; }Hämtar eller ställer in mönsteridentifieraren.
PatternName { get; set; }Hämtar eller ställer in namnet på mönstret.
override PsdVersion { get; }Får den minimala psd-version som krävs för lagerresurs. 0 indikerar inga begränsningar.
Scale { get; set; }Hämtar eller ställer in skalan.
override Signature { get; }Hämtar lagerresurssignaturen.

Metoder

namnBeskrivning
override Save(StreamContainer, int)Sparar resursen till den angivna strömbehållaren.
override ToString()Returnerar enString som representerar denna instans.

Fält

namnBeskrivning
const TypeToolKeyTypverktygets infonyckel.

Exempel

Följande exempel visar stödet för att ladda och redigera en PtFlResource-resurs.

[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)
                {
                    // Läser
                    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");
                    }

                    // Redigering
                    resource.Offset = new Point(-11, 13);
                    resource.Scale = 200;
                    resource.AlignWithLayer = false;
                    resource.IsLinkedWithLayer = false;
                    fillLayer.Resources = fillLayer.Resources;
                    // Vi har inte mönsterdata i PattResource, så vi kan lägga till det.
                    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);
}

Se även