Нарисуйте изображение поверх другого изображения с режимом наложения цвета

В Photoshop вы можете выбрать «Цвет» (второй снизу), чтобы установить режим наложения на следующий нижний слой:

Layer blending mode selection photoshop

Если у вас есть просто градиент поверх изображения, результат может выглядеть так:

Color blending example

Описание режима смешивания цветов, которое я где-то нашел:

Цвет меняет оттенок и насыщенность нижнего слоя на оттенок и насыщенность верхний слой, но оставляет свечение в покое.

Мой код пока таков:

using(var g = Graphics.FromImage(canvas))
{
    // draw the lower image
    g.DrawImage(lowerImg, left, top);

    // creating a gradient and draw on top
    using (Brush brush = new LinearGradientBrush(new Rectangle(0, 0, canvasWidth, canvasHeight), Color.Violet, Color.Red, 20))
    {
        g.FillRectangle(brush, 0, 0, canvasWidth, canvasHeight);
    }
}

Но это, конечно, просто закрашивание нижнего изображения.

Итак, вопрос:

Как я могу нарисовать изображение поверх другого изображения, используя режим наложения «цвет», доступный в Photoshop?

РЕДАКТИРОВАТЬ:

Чтобы немного прояснить, чего я хочу достичь:

enter image description here

И если кто-то хочет использовать изображения для тестирования:

enter image description here enter image description here

7
задан Marc 17 March 2012 в 12:44
поделиться