这是旋转汉字的例子Option Explicit Private Type LOGFONT lfHeight As Long lfWidth As Long lfEscapement As Long lfOrientation As Long lfWeight As Long lfItalic As Byte lfUnderline As Byte lfStrikeOut As Byte lfCharSet As Byte lfOutPrecision As Byte lfClipPrecision As Byte lfQuality As Byte lfPitchAndFamily As Byte lfFaceName As String * 32 End Type Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Private Sub Command1_Click() Dim lf As LOGFONT Dim hFont As Long Dim hOldFont As Long Dim lX As Long Dim lY As Long
http://vbcool.myrice.com/skill/skill3-3.html
Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName As String * 32
End Type
Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Sub Command1_Click()
Dim lf As LOGFONT
Dim hFont As Long
Dim hOldFont As Long
Dim lX As Long
Dim lY As Long
Me.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels
lX = Picture1.Width / 2
lY = Picture1.Height / 2
lf.lfHeight = 32
lf.lfFaceName = "宋体" & vbNullChar
lf.lfEscapement = 300 '单位:1/10度,此处为30度
hFont = CreateFontIndirect(lf)
hOldFont = SelectObject(Picture1.hdc, hFont)
TextOut Picture1.hdc, lX, lY, "旋转汉字", 8 '汉字长度为2,可以用lenb(strconv(str,vbfromunicode))获得输出字符的长度
SelectObject Picture1.hdc, hOldFont
DeleteObject hFont
DeleteObject hOldFont
End Sub对你的问题,计算好每个汉字的旋转角度,一个个输出就行了。注意并不是所有的字体都可以旋转的。