TextLayer.Resize

TextLayer.Resize method

Изменяет размер изображения. По умолчаниюLeftTopToLeftTopиспользуется.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
ПараметрТипОписание
newWidthInt32Новая ширина.
newHeightInt32Новая высота.
resizeTypeResizeTypeТип преобразования размераResizeType

Примеры

Следующий код демонстрирует функцию TextLayer.Resize с параметром для выбора механизма изменения размера.

[C#]

string sourceFileName = "TextLayer.psd";
string outputFile = "TextLayerResized_output.psd";

using (PsdImage image = (PsdImage)Image.Load(sourceFileName, new PsdLoadOptions()))
{
    TextLayer textLayer = (TextLayer)image.Layers[1];

    // Он устанавливает новый размер текстового слоя
    const int NewWidth = 250;
    const int NewHeight = 250;

    // Он устанавливает механизм того, как функция изменения размера будет изменять размер слоя (значение по умолчанию)
    ResizeType resizeType = ResizeType.NearestNeighbourResample;

    // Здесь используется новый механизм изменения размера текстового слоя
    // Будет изменен не только слой, но и матрица преобразования текстового слоя
    textLayer.Resize(NewWidth, NewHeight, resizeType);

    image.Save(outputFile, new PsdOptions(image));
}

using (PsdImage image = (PsdImage)Image.Load(outputFile, new PsdLoadOptions()))
{
    TextLayer txtLayer = (TextLayer)image.Layers[1];

    // Причина дельты — другой шрифт по умолчанию
    if (txtLayer.TransformMatrix[4] >= 65 
        && txtLayer.TransformMatrix[4] <= 67
        && txtLayer.TransformMatrix[5] >= 234
        && txtLayer.TransformMatrix[5] <= 237)
    {
        // Все в порядке
    }
    else
    {
        throw new Exception("Location point is wrong");
    }
}

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