如何用gdi+来指定一行中文本的不同的颜色?

如何用gdi+来指定一行中文本的不同的颜色,效果就是输出的一行字符中我指定的几个字符为特定的颜色表示,该如何做呢?

1个回答

使用渐变画刷即可!
例:textRect表示文本显示矩形区,startColor,endColor文本表示开始及结束颜色
protected override void OnPaint(PaintEventArgs e)
{
//base.OnPaint(e);

        Graphics g = e.Graphics;
        StringFormat format = new StringFormat();
        LinearGradientBrush gb = new LinearGradientBrush(textRect,startColor,endColor,90f);

        g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;

        g.DrawString(Text, Font, gb, textRect, format); 

        gb.Dispose();



    }

            最终效果图
            ![图片说明](https://img-ask.csdn.net/upload/201601/23/1453550940_480908.png)
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问