Hallo zusammen
Ich stehe wieder einmal auf dem Schlauch. Ich möchte beim Ausdruck die maximale Schriftgrösse ermittlen. Grunsätzlich können bis zu 3 Zeilen entsehen. Ich dachte das könnte ich mit
Besten Dank
Ich stehe wieder einmal auf dem Schlauch. Ich möchte beim Ausdruck die maximale Schriftgrösse ermittlen. Grunsätzlich können bis zu 3 Zeilen entsehen. Ich dachte das könnte ich mit
e.Graphics.MeasureString
ganz einfach ermittlen. Leider funktioniert das überhaupt nicht. Hat mir jemand einen Tipp?Besten Dank
VB.NET-Quellcode
- e.Graphics.PageUnit = GraphicsUnit.Millimeter
- '####TEST
- Dim TestString As String = "20/21/22-25"
- Dim bPen As New Pen(Color.Black, 1)
- Dim Rahmen As New Rectangle(5, 5, 205, 100)
- Dim dFormat As New StringFormat()
- dFormat.Alignment = StringAlignment.Center
- dFormat.LineAlignment = StringAlignment.Center
- Dim maxFontSize As Integer = 200
- For size As Integer = maxFontSize To 1 Step -2
- Dim dFontA As New Font("Arial", size, FontStyle.Bold)
- Dim textSize As SizeF = e.Graphics.MeasureString(TestString, dFontA, Rahmen.Size, dFormat)
- If textSize.Width <= Rahmen.Width AndAlso textSize.Height <= Rahmen.Height Then
- maxFontSize = size
- MsgBox(maxFontSize.ToString)
- e.Graphics.DrawRectangle(bPen, Rahmen)
- e.Graphics.DrawString(TestString, dFontA, Brushes.Black, Rahmen, dFormat)
- Exit For
- End If
- Next