以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 狐表GDI绘图.DrawString方法是否还有动态获得画刷的颜色的方法,敬请帮助? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5984) |
|
-- 作者:程兴刚 -- 发布时间:2010/2/22 15:53:00 -- 狐表GDI绘图.DrawString方法是否还有动态获得画刷的颜色的方法,敬请帮助? 春节期间,研究了狐表GDI+绘图功能,其功能强大,很是不错,在使用中遇到了一个困惑,也曾一度发帖请教,出CZY、yangming等总版主给出的判断颜色的方法外,再没有其他良好之对策。 由于颜色名称众多,在每一个需要指定画刷颜色的地方逐个判断一次颜色,事实上不大可能,尤其是对自定义颜色,更千变万化! 下面是在GDI+中绘制文字的一个语句
[此贴子已经被作者于2010-2-22 15:58:38编辑过]
|
|
-- 作者:狐狸爸爸 -- 发布时间:2010/2/22 16:01:00 -- 将下面的内容复制到全局代码: Public Function GetBrushFromColorName(ByVal ColorName As String) As System.Drawing.Brush Dim t As Type = GetType(Color) Dim p As System.Reflection.PropertyInfo = t.GetProperty(ColorName) Dim c As Color = p.GetValue(Nothing, Nothing) Return New System.Drawing.SolidBrush(c) End Function 以后就可以: g.DrawString(gjdm,fnt1,GetBrushFromColorName(颜色名称),45,62) |
|
-- 作者:yangming -- 发布时间:2010/2/22 16:24:00 -- 以下是引用狐狸爸爸在2010-2-22 16:01:00的发言:
将下面的内容复制到全局代码: Public Function GetBrushFromColorName(ByVal ColorName As String) As System.Drawing.Brush Dim t As Type = GetType(Color) Dim p As System.Reflection.PropertyInfo = t.GetProperty(ColorName) Dim c As Color = p.GetValue(Nothing, Nothing) Return New System.Drawing.SolidBrush(c) End Function 以后就可以: g.DrawString(gjdm,fnt1,GetBrushFromColorName(颜色名称),45,62) 好办法!不知道其它的枚举是否也可以如此? |
|
-- 作者:狐狸爸爸 -- 发布时间:2010/2/22 16:26:00 -- 以下是引用yangming在2010-2-22 16:24:00的发言:
好办法!不知道其它的枚举是否也可以如此?
|
|
-- 作者:czy -- 发布时间:2010/2/22 16:29:00 -- 看不懂 |
|
-- 作者:程兴刚 -- 发布时间:2010/2/22 16:30:00 -- 贺老师,看来只有您老人家解决得这么干净彻底,我看都看不懂,先当新年第一份大礼收下,谢谢了! |