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

实现要点说明:

  1. 使用固定宽度字体保证字符对齐
  2. 通过空格和星号的组合构建图形轮廓
  3. 数学公式控制图形形状:

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

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

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

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

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 < 2 Then

space -= 1

star += 2

Else

space += 1

star -= 2

End If

Next

' 等腰三角形(5行)

For i As Integer = 0 To 4

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

原文链接:,转发请注明来源!