如何在c#中使用叠加效果在图像上书写文字

时间:2012-10-08 01:43:56

标签: c# image text graphics overlay

我想在具有叠加混合效果的图像上书写文字。不是简单的透明度,而是将图像的像素与文本的颜色混合。

我有这个功能,它将文字写在图像上,但这只使用了一个简单的透明度。

grPhoto.DrawString(strText,        //string of text
    crFont,                            //font
    semiTransBrush,                    //Brush
    new PointF(xCenterOfImg,yPosFromBottom),  //Position
    StrFormat);                               //Text alignment

1 个答案:

答案 0 :(得分:1)

以下formula that Photoshop用于在使用叠加混合时计算像素值。您可能必须在混合期间计算每个像素 - 我不相信GDI +具有对混合的这种特定支持。 (我可能错了,自从我使用GDI +以来已经有一段时间了。)

Paint.NET使用类似的算法进行叠加混合实现--Reflector可能会给你一些想法。