Class GdFlResource

GdFlResource class

Class GdFlResource. Questa risorsa contiene informazioni sulla fusione di elementi tagliati.

public class GdFlResource : FillLayerResource

Costruttori

NomeDescrizione
GdFlResource()Default_Costruttore

Proprietà

NomeDescrizione
AlignWithLayer { get; set; }Ottiene o imposta un valore che indica se [allinea al livello].
Angle { get; set; }Ottiene o imposta l’angolo.
Color { get; set; }Ottiene il colore dell’RGB.
ColorPoints { get; set; }Ottiene i punti colore.
Dither { get; set; }Ottiene o imposta un valore che indica se thisGdFlResource è dither.
GradientInterval { get; set; }Ottiene o imposta l’intervallo del gradiente.
GradientName { get; set; }Ottiene o imposta il nome del gradiente.
GradientType { get; set; }Ottiene o imposta il tipo di gradiente.
HorizontalOffset { get; set; }Ottiene o imposta l’offset orizzontale.
override Key { get; }Ottiene la chiave della risorsa del livello.
override Length { get; }Ottiene la lunghezza della risorsa del livello in byte.
override PsdVersion { get; }Ottiene la versione PSD minima richiesta per la risorsa del livello. 0 indica nessuna restrizione.
Reverse { get; set; }Ottiene o imposta un valore che indica se thisGdFlResource è inverso.
Scale { get; set; }Ottiene o imposta la scala.
override Signature { get; }Ottiene la firma della risorsa del livello.
TransparencyPoints { get; set; }Ottiene i punti di trasparenza.
VerticalOffset { get; set; }Ottiene o imposta l’offset verticale.

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 delle risorse GdFlResource.

[C#]

string sourceFileName = "ComplexGradientFillLayer.psd";
string exportPath = "ComplexGradientFillLayer_after.psd";
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 GdFlResource)
                {
                    // Lettura
                    var resource = (GdFlResource)res;
                    if (resource.AlignWithLayer != false ||
                     (Math.Abs(resource.Angle - 45.0) > 0.001) ||
                     resource.Dither != true ||
                     resource.Reverse != false ||
                     resource.Color != Color.Empty ||
                     Math.Abs(resource.HorizontalOffset - (-39)) > 0.001 ||
                     Math.Abs(resource.VerticalOffset - (-5)) > 0.001 ||
                     resource.TransparencyPoints.Length != 3 ||
                     resource.ColorPoints.Length != 2)
                    {
                        throw new Exception("Resource Parameters were read wrong");
                    }
                    var transparencyPoints = resource.TransparencyPoints;
                    if (Math.Abs(100.0 - transparencyPoints[0].Opacity) > 0.25 ||
                     transparencyPoints[0].Location != 0 ||
                     transparencyPoints[0].MedianPointLocation != 50 ||
                     Math.Abs(50.0 - transparencyPoints[1].Opacity) > 0.25 ||
                     transparencyPoints[1].Location != 2048 ||
                     transparencyPoints[1].MedianPointLocation != 50 ||
                     Math.Abs(100.0 - transparencyPoints[2].Opacity) > 0.25 ||
                     transparencyPoints[2].Location != 4096 ||
                     transparencyPoints[2].MedianPointLocation != 50)
                    {
                        throw new Exception("Gradient Transparency Points were read Wrong");
                    }
                    var colorPoints = resource.ColorPoints;
                    if (colorPoints[0].Color != Color.FromArgb(203, 64, 140) ||
                     colorPoints[0].Location != 0 ||
                     colorPoints[0].MedianPointLocation != 50 ||
                     colorPoints[1].Color != Color.FromArgb(203, 0, 0) ||
                     colorPoints[1].Location != 4096 ||
                     colorPoints[1].MedianPointLocation != 50)
                    {
                        throw new Exception("Gradient Color Points were read Wrong");
                    }
                    // La modifica
                    resource.Angle = 30.0;
                    resource.Dither = false;
                    resource.AlignWithLayer = true;
                    resource.Reverse = true;
                    resource.HorizontalOffset = 25;
                    resource.VerticalOffset = -15;
                    var newColorPoints = new List<IGradientColorPoint>(resource.ColorPoints);
                    var
                     newTransparencyPoints = new
                    List<IGradientTransparencyPoint>(resource.TransparencyPoints);
                    newColorPoints.Add(new GradientColorPoint()
                    {
                        Color = Color.Violet,
                        Location = 4096,
                        MedianPointLocation = 75
                    });
                    colorPoints[1].Location = 3000;
                    newTransparencyPoints.Add(new GradientTransparencyPoint()
                    {
                        Opacity = 80.0,
                        Location = 4096,
                        MedianPointLocation = 25
                    });
                    transparencyPoints[2].Location = 3000;
                    resource.ColorPoints = newColorPoints.ToArray();
                    resource.TransparencyPoints = newTransparencyPoints.ToArray();
                    im.Save(exportPath);
                }
                break;
            }
            break;
        }
    }
}

Guarda anche