В этом случае вы, вероятно, не хотите, чтобы результат брал какую-либо альфу с водяного знака, вы хотите, чтобы он сохранял 100% непрозрачности JPEG. Вместо установки новой альфы на from.A * amountFrom + to.A * percent
, просто используйте from.A
.
Редактировать: Кроме того, вы хотите настроить percent
в соответствии с альфа PNG. Вот ваш образец, обновленный:
private static Color Mix(Color from, Color to, float percent)
{
float amountTo = percent * to.A / 255.0;
float amountFrom = 1.0f - amountTo;
return Color.FromArgb(
from.A,
(byte)(from.R * amountFrom + to.R * amountTo),
(byte)(from.G * amountFrom + to.G * amountTo),
(byte)(from.B * amountFrom + to.B * amountTo));
}
Я преобразовал этот код в Python и пропустил ваши образцы изображений с 0,5%, вот результат:
![enter image description here](https://i.stack.imgur.com/5yLhi.jpg)