Class PtFlResource

PtFlResource class

Classe PtFlResource. Contiene i dati del livello di riempimento a motivo.

public class PtFlResource : FillLayerResource

Costruttori

NomeDescrizione
PtFlResource(string, string)Inizializza una nuova istanza diPtFlResource classe.

Proprietà

NomeDescrizione
AlignWithLayer { get; set; }Ottiene o imposta un valore che indica se [align with layer].
IsLinkedWithLayer { get; set; }Ottiene o imposta un valore che indica se questa istanza è collegata al layer.
override Key { get; }Ottiene la chiave della risorsa del livello.
override Length { get; }Ottiene la lunghezza della risorsa del livello in byte.
Offset { get; set; }Ottiene o imposta l’offset.
PatternId { get; set; }Ottiene o imposta l’identificatore del modello.
PatternName { get; set; }Ottiene o imposta il nome del modello.
override PsdVersion { get; }Ottiene la versione PSD minima richiesta per la risorsa del livello. 0 indica nessuna restrizione.
Scale { get; set; }Ottiene o imposta la scala.
override Signature { get; }Ottiene la firma della risorsa del livello.

Metodi

NomeDescrizione
override Save(StreamContainer, int)Salva la risorsa nel contenitore del flusso specificato.
override ToString()Restituisce aString che rappresenta questa istanza.

Campi

NomeDescrizione
const TypeToolKeyIl tasto informazioni dello strumento testo.

Esempi

L’esempio seguente mostra il supporto del caricamento e della modifica di una risorsa PtFlResource.

[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)
                {
                    // Lettura
                    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");
                    }

                    // La modifica
                    resource.Offset = new Point(-11, 13);
                    resource.Scale = 200;
                    resource.AlignWithLayer = false;
                    resource.IsLinkedWithLayer = false;
                    fillLayer.Resources = fillLayer.Resources;
                    // Non abbiamo dati di pattern in PattResource, quindi possiamo aggiungerli.
                    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);
}

Guarda anche