Class PtFlResource

PtFlResource class

Clase PtFlResource. Contiene datos de capa de relleno de patrón.

public class PtFlResource : FillLayerResource

Constructores

NombreDescripción
PtFlResource(string, string)Inicializa una nueva instancia delPtFlResource clase.

Propiedades

NombreDescripción
AlignWithLayer { get; set; }Obtiene o establece un valor que indica si [alinear con la capa].
IsLinkedWithLayer { get; set; }Obtiene o establece un valor que indica si esta instancia está vinculada con la capa.
override Key { get; }Obtiene la clave de recurso de la capa.
override Length { get; }Obtiene la longitud del recurso de la capa en bytes.
Offset { get; set; }Obtiene o establece el desplazamiento.
PatternId { get; set; }Obtiene o establece el identificador del patrón.
PatternName { get; set; }Obtiene o establece el nombre del patrón.
override PsdVersion { get; }Obtiene la versión psd mínima necesaria para el recurso de capa. 0 indica que no hay restricciones.
Scale { get; set; }Obtiene o establece la escala.
override Signature { get; }Obtiene la firma del recurso de la capa.

Métodos

NombreDescripción
override Save(StreamContainer, int)Guarda el recurso en el contenedor de flujo especificado.
override ToString()Devuelve unString que representa esta instancia.

Campos

NombreDescripción
const TypeToolKeyLa clave de información de la herramienta de tipo.

Ejemplos

El siguiente ejemplo demuestra el soporte de la carga y edición de un recurso 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)
                {
                    // Lectura
                    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");
                    }

                    // Edición
                    resource.Offset = new Point(-11, 13);
                    resource.Scale = 200;
                    resource.AlignWithLayer = false;
                    resource.IsLinkedWithLayer = false;
                    fillLayer.Resources = fillLayer.Resources;
                    // No tenemos datos de patrones en PattResource, por lo que podemos agregarlos.
                    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);
}

Ver también