Class WorkingPathResource

WorkingPathResource class

Ресурс рабочего пути.

public sealed class WorkingPathResource : ResourceBlock, IVectorPathData

Конструкторы

ИмяОписание
WorkingPathResource(byte[])Инициализирует новый экземплярWorkingPathResource класс.

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

ИмяОписание
override DataSize { get; }Получает размер данных ресурса в байтах.
ID { get; set; }Получает или задает уникальный идентификатор ресурса.
IsDisabled { get; set; }Получает или задает значение, указывающее, отключен ли этот экземпляр.
IsInverted { get; set; }Получает или задает значение, указывающее, инвертирован ли этот экземпляр.
IsNotLinked { get; set; }Получает или задает значение, указывающее, не связан ли этот экземпляр.
override MinimalVersion { get; }Получает минимальную требуемую версию PSD.
Name { get; set; }Получает или задает имя ресурса. Строка Паскаля, дополненная, чтобы сделать размер четным (нулевое имя состоит из двух байтов 0).
Paths { get; set; }Получает или задает записи пути.
Signature { get; }Получает подпись ресурса. Всегда должно быть «8BIM».
Size { get; }Получает размер блока ресурсов в байтах, включая его данные.
Version { get; set; }Получает или задает версию.

Методы

ИмяОписание
Save(StreamContainer)Сохраняет блок ресурсов в указанный поток.
virtual ValidateValues()Проверяет значения ресурсов.

Примеры

Этот пример демонстрирует поддержку ресурса WorkingPathResource в PsdImage.ImageResources для корректной работы операции Crop.

[C#]

// Обрезать изображение и сохранить.
using (var psdImage = (PsdImage)Image.Load(sourceFile))
{
    // Поиск ресурса WorkingPathResource.
    ResourceBlock[] imageResources = psdImage.ImageResources;
    WorkingPathResource workingPathResource = null;
    foreach (var imageResource in imageResources)
    {
        if (imageResource is WorkingPathResource)
        {
            workingPathResource = (WorkingPathResource)imageResource;
            break;
        }
    }
    BezierKnotRecord record = workingPathResource.Paths[3] as BezierKnotRecord;

    if (record.Points[0].X != 2572506 || record.Points[0].Y != 8535408)
    {
        throw new Exception("Values is incorrect.");
    }

    // Обрезать и сохранить.
    psdImage.Crop(0, 500, 0, 200);
    psdImage.Save(outputFile);
}

// Загружаем сохраненное изображение и проверяем изменения.
using (var psdImage = (PsdImage)Image.Load(outputFile))
{
    // Поиск ресурса WorkingPathResource.
    ResourceBlock[] imageResources = psdImage.ImageResources;
    WorkingPathResource workingPathResource = null;
    foreach (var imageResource in imageResources)
    {
        if (imageResource is WorkingPathResource)
        {
            workingPathResource = (WorkingPathResource)imageResource;
            break;
        }
    }
    BezierKnotRecord record = workingPathResource.Paths[3] as BezierKnotRecord;

    if (record.Points[0].X != 4630510 || record.Points[0].Y != 22761088)
    {
        throw new Exception("Values is incorrect.");
    }
}

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