Graphics.DrawString 指定文本的不透明度

Posted

技术标签:

【中文标题】Graphics.DrawString 指定文本的不透明度【英文标题】:Graphics.DrawString specify opacity of text 【发布时间】:2011-09-29 12:55:43 【问题描述】:

是否可以指定使用Graphics.DrawString 方法编写的文本的不透明度?

我正在做这样的事情,但如果可能的话,我希望我的文字是半透明的。

目前我正在这样做:

Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("This is a watermark", 
    new Font("Arial", 40), 
    new SolidBrush(Color.Red), 
    0, 
    0);

【问题讨论】:

【参考方案1】:

试试

new SolidBrush(Color.FromArgb(0x78FF0000))

希望对你有帮助

【讨论】:

【参考方案2】:

试试:

int opacity = 128; // 50% opaque (0 = invisible, 255 = fully opaque)
Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("This is a watermark", 
    new Font("Arial", 40), 
    new SolidBrush(Color.FromArgb(opacity, Color.Red)), 
    0, 
    0);

【讨论】:

以上是关于Graphics.DrawString 指定文本的不透明度的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Graphics::DrawString 绘制杂项字符?

Java Graphics2D drawString 正在“涂黑”源图像

为啥 Graphics2D.setStoke() 不适用于 Graphics2D.drawString?

Graphics DrawString 画出字体怎么不一样大啊?

Graphics.DrawString 以打印文档宽度为中心

c#中e.Graphics.DrawString