Нарисуйте изображение поверх другого изображения с помощью режима смешивания цветов
В Photoshop вы можете выбрать «Цвет» (второй снизу), чтобы установить режим смешивания на следующий нижний слой:
Если у вас есть только градиент поверх изображения, результат может выглядеть так:
Описание режима смешивания цветов, которое я нашел где-то:
Цвет меняет оттенок и насыщенность нижнего слоя на оттенок и насыщенность верхнего слоя, но оставляет только яркость.
Мой код до сих пор:
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?
РЕДАКТИРОВАТЬ:
Чтобы было немного яснее, чего я хочу достичь:
И если кто-то хочет использовать изображения для тестирования: