如何在DrawString中使用自定义RGB颜色?
在C#中使用自定义RGB颜色替代默认画笔颜色
你可以通过SolidBrush结合Color.FromArgb()来创建自定义RGB颜色,替换掉默认的Brushes.SteelBlue,具体实现有几种实用方式:
1. 直接创建自定义RGB画笔(推荐用using管理资源)
因为Brush实现了IDisposable接口,用using语句能自动释放资源,避免内存泄漏:
// 自定义RGB颜色:红220,绿80,蓝120(数值范围0-255,可按需修改) using (var customBrush = new SolidBrush(Color.FromArgb(220, 80, 120))) { e.Graphics.DrawString("Order Summary", new Font("Roboto", 15, FontStyle.Bold), customBrush, new Point(350, 20)); }
2. 带透明度的自定义颜色
如果需要半透明效果,用Color.FromArgb()的四参数重载,第一个参数是透明度(Alpha值,0为全透明,255为完全不透明):
using (var semiTransBrush = new SolidBrush(Color.FromArgb(180, 220, 80, 120))) { e.Graphics.DrawString("Order Summary", new Font("Roboto", 15, FontStyle.Bold), semiTransBrush, new Point(350, 20)); }
3. 复用自定义颜色
如果要在多处使用同一个自定义颜色,可以提前定义Color变量或静态常量:
// 定义类级别的自定义颜色常量 private static readonly Color CustomTextColor = Color.FromArgb(220, 80, 120); // 使用时直接调用 using (var brush = new SolidBrush(CustomTextColor)) { e.Graphics.DrawString("Order Summary", new Font("Roboto", 15, FontStyle.Bold), brush, new Point(350, 20)); }
内容的提问来源于stack exchange,提问作者xeyon
相关产品推荐
相关产品推荐

