Layer.Layer

Layer()

Initialiseert een nieuw exemplaar van hetLayer klas. Constructor voor luie initialisatie.

public Layer()

Voorbeelden

Het volgende voorbeeld laat zien hoe u kunt tekenen op een nieuw gemaakte laag als de eenvoudige constructorversie wordt gebruikt in Aspose.PSD

[C#]

string outputFilePath = "output.psd";

int width = 100;
int height = 100;
using (var image = new PsdImage(width, height))
{
    var layer = new Layer();
    layer.Bottom = height;
    layer.Right = width;
    image.AddLayer(layer);

    Graphics graphic = new Graphics(layer);
    graphic.Clear(Color.Yellow);

    // teken een rechthoek met het gereedschap Pen
    graphic.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80));

    // teken nog een rechthoek met Solid Brush in blauwe kleur
    graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40));

    image.Save(outputFilePath);
}

Zie ook


Layer(RasterImage, bool)

Initialiseert een nieuw exemplaar van hetLayer klasse.

public Layer(RasterImage image, bool disposeImage = false)
ParameterTypeBeschrijving
imageRasterImageDe afbeelding.
disposeImageBooleanindien ingesteld opWAAR [verwijder afbeelding].

Voorbeelden

De volgende code demonstreert de mogelijkheid om JPEG/PNG/etc-afbeeldingsbestanden naar PsdImage te laden zonder direct te laden.

[C#]

string filePath = "PsdExample.psd";
string outputFilePath = "PsdResult.psd";
using (var image = new PsdImage(200, 200))
{
    using (var im = Image.Load(filePath))
    {
        Layer layer = null;
        try
        {
            layer = new Layer((RasterImage)im);
            image.AddLayer(layer);
        }
        catch (Exception)
        {
            if (layer != null)
            {
                layer.Dispose();
            }

            throw;
        }
    }

    image.Save(outputFilePath);
}

Zie ook


Layer(Stream)

Initialiseert een nieuw exemplaar van hetLayer klasse.

public Layer(Stream stream)
ParameterTypeBeschrijving
streamStreamDe beeldstroom

Voorbeelden

Het volgende voorbeeld laat zien hoe u Bmp-, Jpeg-, Jpeg2000-, Png-, Psd-, Tiff-, Gif-afbeeldingen als lagen kunt toevoegen aan PsdImage

[C#]

string outputFilePath = "PsdResult.psd";

var filesList = new string[]
{
    "PsdExample.psd",
    "BmpExample.bmp",
    "GifExample.gif",
    "Jpeg2000Example.jpf",
    "JpegExample.jpg",
    "PngExample.png",
    "TiffExample.tif",
};

using (var image = new PsdImage(200, 200))
{
    foreach (var fileName in filesList)
    {
        string filePath = fileName;
        using (var stream = new FileStream(filePath, FileMode.Open))
        {
            Layer layer = null;
            try
            {
                layer = new Layer(stream);
                image.AddLayer(layer);
            }
            catch (Exception e)
            {
                if (layer != null)
                {
                    layer.Dispose();
                }

                throw e;
            }
        }
    }

    image.Save(outputFilePath);
}

Zie ook


Layer(Rectangle, byte[], byte[], byte[], string)

Initialiseert een nieuw exemplaar van hetLayer klasse uit byte-arrays.

public Layer(Rectangle bounds, byte[] redBytes, byte[] greenBytes, byte[] blueBytes, string name)
ParameterTypeBeschrijving
boundsRectangleDe laaggrenzen.
redBytesByte[]De rode bytes.
greenBytesByte[]De groene bytes.
blueBytesByte[]De blauwe bytes.
nameStringDe naam van de laag.

Uitzonderingen

uitzonderingvoorwaarde
PsdImageExceptionByte-arrays mogen niet leeg zijn or Byte-arrays lengte moet gelijk zijn aan grensafmetingen (bounds.Width * bounds.Height)

Zie ook