Как печатать символы, измеряя их ширину?
Я хочу напечатать текст "ААА". Сначала я печатаю "а", а затем измеряю ширину текста, чтобы получить позицию x для следующего текста, подобного этому. Когда я печатаю таким образом, это дает некоторый разрыв между текстами. Как решить эту проблему?
Что я уже пробовал:
Public Class Form1 Private TMPbmp As New Bitmap(1, 1) Private TMPgfx As Graphics = Graphics.FromImage(TMPbmp) Private TxtSize As SizeF Public prnDocument As New System.Drawing.Printing.PrintDocument Public WithEvents prnPreview As New System.Windows.Forms.PrintPreviewDialog Private egraphics As Graphics Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Click AddHandler prnDocument.PrintPage, AddressOf prnDocument_PrintPage prnPreview.Document = prnDocument prnPreview.WindowState = FormWindowState.Maximized prnPreview.ShowDialog() End Sub Private Sub prnDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Dim lalign As New StringFormat egraphics = e.Graphics egraphics.PageUnit = GraphicsUnit.Point lalign.Alignment = StringAlignment.Near Dim lwi As Single = TextWidth("A", New Font("Arial", 19)) egraphics.DrawString("A", New Font("Arial", 19), New SolidBrush(Color.Black), 10, 50, lalign) egraphics.DrawString("A", New Font("Arial", 19), New SolidBrush(Color.Black), 10 + lwi, 50, lalign) eGraphics.DrawString("A", New Font("Arial", 19), New SolidBrush(Color.Black), 10 + lwi + lwi, 50, lalign) End Sub Public Function TextWidth(ByVal Matter As String, ByVal pFont As System.Drawing.Font) As Single TMPgfx.PageUnit = GraphicsUnit.Point TxtSize = TMPgfx.MeasureString(Matter, pFont) TextWidth = TxtSize.Width End Function End Class