vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Genaue Breite eines Strings ermitteln 
Autor: Kalli
Datum: 01.06.18 08:54

Hallo Manfred X,
entschuldige die späte Antwort, war zu sehr mit Brötchen verdienen beschäftigt.
Ich habe den Unterschied zwischen TextRenderer.MeasureText und Grapics.MeasureString ausprobiert. Es bringt leider nur ein paar Pixel, aber in der Bemessung der Textbreite nicht genau den Punkt, wo der nächste Buchstabe eines neuen Strings ansetzen müsste.

Hier der Code, den ich zum Ausprobieren benutzt habe:
Public Class Form1
    Dim s As String, fo As Font
 
 
    Private Sub Bild_Paint(sender As Object, e As PaintEventArgs) Handles _
      Bild.Paint
        Dim hdc As IDeviceContext
        hdc = e.Graphics
        fo = New Font("Calligraph421 BT", 40, FontStyle.Regular)
        s = "Alle meine Entchen"
        Dim si As Size = TextRenderer.MeasureText(s, fo)
        Dim si1 As SizeF = e.Graphics.MeasureString(s, fo)
        Debug.Print(si.Width.ToString + " " + si.Height.ToString)
        Dim bm As New Bitmap(Bild.Width, Bild.Height)
        Bild.Image = bm
        Using gr As Graphics = Graphics.FromImage(Bild.Image)
            gr.DrawString(s, fo, Brushes.Black, New Point(0, 0))
            gr.DrawRectangle(Pens.Red, New Rectangle(0, 0, si1.Width, _
              si1.Height))
            TextRenderer.DrawText(gr, s, fo, New Point(0, 40), Color.Black)
            gr.DrawRectangle(Pens.Red, New Rectangle(0, 40, si.Width, _
              si.Height))
        End Using
    End Sub
End Class
Ich werde aber noch weiter herumprobieren (In GFA-Basic hatte ich dafür eine Methode "Text.Width", die die exakte Breite lieferte, "Text.Height" lieferte einen sauberen Zeilenabstand ohne viel Klimbim)
Bis ev. in ein paar Tagen, hab so viel anderes Zeug um die Ohren.
Kalle

Dont debug, because there will allways be one more bug

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Genaue Breite eines Strings ermitteln2.816Kalli30.05.18 17:57
Re: Genaue Breite eines Strings ermitteln1.985Manfred X30.05.18 19:32
Re: Genaue Breite eines Strings ermitteln1.950Kalli30.05.18 20:08
Re: Genaue Breite eines Strings ermitteln1.996Manfred X30.05.18 20:31
Re: Genaue Breite eines Strings ermitteln1.935Kalli31.05.18 00:18
Re: Genaue Breite eines Strings ermitteln1.996Manfred X31.05.18 06:08
Re: Genaue Breite eines Strings ermitteln1.924Kalli01.06.18 08:54
Re: Genaue Breite eines Strings ermitteln2.057GPM01.06.18 13:07
Re: Genaue Breite eines Strings ermitteln1.909Kalli01.06.18 16:44
Re: Genaue Breite eines Strings ermitteln1.915GPM01.06.18 18:21
Re: Genaue Breite eines Strings ermitteln1.969Kalli01.06.18 18:59

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel