Foxtable(狐表)用户栏目专家坐堂 → GDI+如何绘制竖排文字?


  共有2687人关注过本帖树形打印复制链接

主题:GDI+如何绘制竖排文字?

帅哥哟,离线,有人找我吗?
pyh6918
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
GDI+如何绘制竖排文字?  发帖心情 Post By:2014/9/15 22:30:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim
g As Graphics = p.Graphics
Dim
fnt As New Font("宋体",16)
Dim
msg As String = "我爱狐表"
g.DrawString(msg,fnt,Brushes.Red,10,10)
p.Repaint()

 

这段代码绘制的结果是:我爱狐表

 

如何达到竖向排列的结果:

 

 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 22:36:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Dim fnt As New Font("宋体",16)
Dim msg As String = "我" & vbcrlf & "爱" & vbcrlf & "狐" & vbcrlf & "表"
g.DrawString(msg,fnt,Brushes.Red,10,10)
p.Repaint()
[此贴子已经被作者于2014-9-15 22:35:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2014/9/15 22:43:00 [只看该作者]

网上找了个StringFormatFlags.DirectionVertical方法,不知道怎么用?

 

说是把这个做为参数放到位置的后面,但没成功。

[此贴子已经被作者于2014-9-15 22:45:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2014/9/15 22:45:00 [只看该作者]

多谢甜版,这是个变通的方法。

 

这要重新整理字符串才行。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 22:59:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Dim fnt As New Font("宋体",16)
Dim msg As String = "我爱狐表"
Dim newmsg As String = ""
For Each s As String In msg
    newmsg &= s & vbcrlf
Next
g.DrawString(newmsg,fnt,Brushes.Red,10,10)
p.Repaint()

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2014/9/15 23:05:00 [只看该作者]

多谢甜版,非常好!

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/9/16 9:09:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim
g As Graphics = p.Graphics
Dim
fnt As New Font("宋体",16)
Dim
msg As String = "我爱狐表"

 

 Dim fns As System.Drawing.StringFormat = New System.Drawing.StringFormat
 fns.FormatFlags = System.Drawing.StringFormatFlags.DirectionVertical

 

 


g.DrawString(msg,fnt,Brushes.Red,10,10,fns)
p.Repaint()


 回到顶部