Layer.Layer

Layer()

Инициализирует новый экземплярLayer сорт. Конструктор для ленивой инициализации.

public Layer()

Примеры

В следующем примере показано, как можно рисовать на вновь созданном слое, если в 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);

    // рисуем прямоугольник инструментом Перо
    graphic.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80));

    // рисуем еще один прямоугольник сплошной кистью синего цвета
    graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40));

    image.Save(outputFilePath);
}

Смотрите также


Layer(RasterImage, bool)

Инициализирует новый экземплярLayer класс.

public Layer(RasterImage image, bool disposeImage = false)
ПараметрТипОписание
imageRasterImageИзображение.
disposeImageBooleanесли установленоистинный [удалить изображение].

Примеры

Следующий код демонстрирует возможность загрузки файлов изображений JPEG/PNG/и т. д. в PsdImage без прямой загрузки.

[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);
}

Смотрите также


Layer(Stream)

Инициализирует новый экземплярLayer класс.

public Layer(Stream stream)
ПараметрТипОписание
streamStreamПоток изображений

Примеры

В следующем примере показано, как можно добавлять изображения Bmp, Jpeg, Jpeg2000, Png, Psd, Tiff, Gif в качестве слоев в 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);
}

Смотрите также


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

Инициализирует новый экземплярLayer класс из байтовых массивов.

public Layer(Rectangle bounds, byte[] redBytes, byte[] greenBytes, byte[] blueBytes, string name)
ПараметрТипОписание
boundsRectangleГраницы слоя.
redBytesByte[]Красные байты.
greenBytesByte[]Зеленые байты.
blueBytesByte[]Синие байты.
nameStringИмя слоя.

Исключения

исключениеусловие
PsdImageExceptionМассивы байтов не могут быть пустыми или Длина массивов байтов должна равняться размерам границ (bounds.Width * bounds.Height)

Смотрите также