在VB.NET窗体中打印字符图形可通过Graphics.DrawString方法实现

360影视 动漫周边 2025-09-01 09:14 1

摘要:Dim line As String = New String(" "c, 4 - i) & New String("*"c, 9)

平行四边形:每行偏移量递减

菱形:分上下半区分别处理星号数量

等腰三角形:星号数量呈奇数增长

坐标计算采用20像素行距确保可读性所有图形使用相同绘图上下文保证一致性

Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint

Dim g As Graphics = e.Graphics

Dim font As New Font("Courier New", 12)

Dim brush As New SolidBrush(Color.Black)

' 平行四边形(5行9列)

For i As Integer = 0 To 4

Dim line As String = New String(" "c, 4 - i) & New String("*"c, 9)

g.DrawString(line, font, brush, 20, 20 + i * 20)

Next

' 菱形(5行)

Dim space As Integer = 4

Dim star As Integer = 1

For i As Integer = 0 To 4

Dim line As String = New String(" "c, space) & New String("*"c, star)

g.DrawString(line, font, brush, 150, 20 + i * 20)

If i

space -= 1

star += 2

Else

space += 1

star -= 2

End If

Next

' 等腰三角形(5行)

Dim line As String = New String(" "c, 4 - i) & New String("*"c, 2 * i + 1)

g.DrawString(line, font, brush, 280, 20 + i * 20)

Next

End Sub

来源:Pia科技

相关推荐