【发布时间】:2012-12-13 01:22:28
【问题描述】:
可能重复:
How to color individual characters and maintain proper spacing / kerning / alignment?
使用 GDI+,我想将字符串分解为单个字符,以便可以在字符串中的任何位置更改字体类型、大小或粗细。
用法示例:
****B****大写第一个字符。
对第一个字符使用古英语字体(即“Once on a time” -> “O” = 古英语字体)
在句子内中为特定单词(字符组)加下划线。
我找不到任何示例。我不确定如何处理这个问题。
Public Class Character
Public Property ID As Integer
Public Property Value As Char
Public Property CharacterFont As Font
Public Property CharacterColor As Brush
Public Sub New()
CharacterFont = New Font("Times New Roman", 12)
End Sub
End Class
......
Public Class CharacterBlock
Private _characters As New List(Of Character)
Public Property Alignment As StringAlignment
Public Sub New()
Alignment = StringAlignment.Center
End Sub
Public Sub New(p_characters As List(Of Character))
Me.New()
_characters = p_characters
End Sub
Public Sub New(p_characters As String)
Me.New()
_characters = (From s In p_characters.ToList Select New Character With {.Value = s}).ToList
End Sub
Public Sub New(p_characters As String, p_font As System.Drawing.Font)
Me.New()
_characters = (From s In p_characters.ToList Select New Character With {.Value = s, .CharacterFont = p_font}).ToList
End Sub
'TODO: Add methods to measure and draw character blocks
End Class
【问题讨论】: