我想在具有叠加混合效果的图像上书写文字。不是简单的透明度,而是将图像的像素与文本的颜色混合。
我有这个功能,它将文字写在图像上,但这只使用了一个简单的透明度。
grPhoto.DrawString(strText, //string of text
crFont, //font
semiTransBrush, //Brush
new PointF(xCenterOfImg,yPosFromBottom), //Position
StrFormat); //Text alignment
答案 0 :(得分:1)
以下formula that Photoshop用于在使用叠加混合时计算像素值。您可能必须在混合期间计算每个像素 - 我不相信GDI +具有对混合的这种特定支持。 (我可能错了,自从我使用GDI +以来已经有一段时间了。)
Paint.NET使用类似的算法进行叠加混合实现--Reflector可能会给你一些想法。