求助大侠,如何在绘制文字时显示不同颜色

tulip811226 2017-09-07 12:16:49
比如我用在绘制函数中如何实现呢,比如像这样的两个字

Public Sub DrawStringPointF(ByVal e As PaintEventArgs)

Dim drawString As [String] = "大双"

Dim drawFont As New Font("宋体", 30)
Dim drawBrush As New SolidBrush(Color.Black)

Dim drawPoint As New PointF(150.0F, 150.0F)

e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint)
End Sub

这样绘制出来是单色的
始终没有找到思路,如果有懂的大侠请帮忙至各路吧,谢谢
...全文
495 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
raynors 2017-09-15
  • 打赏
  • 举报
回复
没有其他办法,你100个字,你设置颜色都要100行. 系统没有那么智能. 就算有那么智能,譬如下面这条语句 e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint) 那也是一个点一个点的画上去,形成文字 那有人提,我要每个点不同颜色怎么办,你用WINDOWS GDI画点,那肯定没效率。 要效率你还是先学学底层绘图,直接硬件绘图一个点 一个点的绘吧。 与此相对的 写100个不同颜色的字效率并不低,但你的程序没有做缓冲绘图,肯定会闪的。
bdlj110 2017-09-12
  • 打赏
  • 举报
回复
tulip811226 2017-09-08
  • 打赏
  • 举报
回复
re:sx_lxh 不不不,这不是我想要的
tulip811226 2017-09-08
  • 打赏
  • 举报
回复
re:homesos 如果有一百个字呢?那会不会累死?
sx_lxh 2017-09-08
  • 打赏
  • 举报
回复
字少的话就一个个画,字多的话就找规律,再不行,还可以考虑换思路,比如是否可以用一个图片代替,看具体要求。
homesos 2017-09-08
  • 打赏
  • 举报
回复
引用 4 楼 tulip811226 的回复:
re:homesos 如果有一百个字呢?那会不会累死?
你理想中是想要什么样的?
homesos 2017-09-08
  • 打赏
  • 举报
回复
引用 4 楼 tulip811226 的回复:
re:homesos 如果有一百个字呢?那会不会累死?
drawBrush 有color属性可以改,你的color的r、g、b值可以是自动生成的,你按照一定规则写个循环生成rgb、赋值color、绘制。
zbdzjx 2017-09-07
  • 打赏
  • 举报
回复
两个字分开绘制?
homesos 2017-09-07
  • 打赏
  • 举报
回复
Dim drawBrush As New SolidBrush(Color.Black) 换笔刷颜色,你这个笔刷Color.Black表示是黑色的。
sx_lxh 2017-09-07
  • 打赏
  • 举报
回复
两个字分开绘制,第二个字绘制时换笔刷颜色

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧