В Photoshop вы можете выбрать «Цвет» (второй снизу), чтобы установить режим смешивания на следующий нижний слой:
![Layer blending mode selection photoshop](https://i.stack.imgur.com/IUJwb.gif)
Если у вас есть только градиент поверх изображения, результат может выглядеть следующим образом:
![Color blending example](https://i.stack.imgur.com/JaOaB.jpg)
Описание режима наложения цветов, которое я нашел где-то:
Цвет изменяет оттенок и насыщенность нижнего слоя на оттенок и насыщенность верхнего слоя, но оставляет яркость в покое.
Пока мой код:
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);
}
}
Но это - конечно - просто закрашивание нижнего изображения.
Итак, вопрос:
Как нарисовать изображение поверх другого изображения, используя режим наложения "color", доступный в Photoshop?
EDIT:
Чтобы было немного яснее, чего я хочу достичь:
![enter image description here](https://i.stack.imgur.com/JXOMa.png)
А если кто-то хочет использовать изображения для тестирования:
![enter image description here](https://i.stack.imgur.com/zRg7S.png)