Class VectorPathDataResource

VectorPathDataResource class

Класс VectorPathDataResource. Этот ресурс содержит информацию о маске векторного слоя

public abstract class VectorPathDataResource : LayerResource, IVectorPathData

Характеристики

ИмяОписание
IsDisabled { get; set; }Получает или задает значение, указывающее, отключен ли этот экземпляр.
IsInverted { get; set; }Получает или задает значение, указывающее, инвертирован ли этот экземпляр.
IsNotLinked { get; set; }Получает или задает значение, указывающее, не связан ли этот экземпляр.
abstract Key { get; }Получает ключ ресурса слоя.
override Length { get; }Получает длину ресурса слоя в байтах.
Paths { get; set; }Получает или задает записи пути.
override PsdVersion { get; }Получает версию psd.
override Signature { get; }Получает подпись.
Version { get; set; }Получает или задает версию.

Методы

ИмяОписание
override Save(StreamContainer, int)Сохраняет ресурс в указанный контейнер потока.
override ToString()ВозвращаетString который представляет этот экземпляр.

Примеры

В следующем примере демонстрируется поддержка обработки векторных масок слоя. Как работает редактирование контуров и как Aspose.PSD рисует финальное изображение.

[C#]

string sourceFileName = "DifferentLayerMasks_Source.psd";
string exportPath = "DifferentLayerMasks_Export.psd";
string exportPathPng = "DifferentLayerMasks_Export.png";

// Чтение
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
    // Вносим изменения в точки векторного пути
    foreach (var layer in image.Layers)
    {
        foreach (var layerResource in layer.Resources)
        {
            var resource = layerResource as VectorPathDataResource;
            if (resource != null)
            {
                foreach (var pathRecord in resource.Paths)
                {
                    var bezierKnotRecord = pathRecord as BezierKnotRecord;
                    if (bezierKnotRecord != null)
                    {
                        Point p0 = bezierKnotRecord.Points[0];
                        bezierKnotRecord.Points[0] = bezierKnotRecord.Points[2];
                        bezierKnotRecord.Points[2] = p0;
                        break;
                    }
                }
            }
        }
    }

    // Экспорт
    image.Save(exportPath);
    image.Save(exportPathPng, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}

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