vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Linie zeichnen mit zentrierter Beschriftung 
Autor: bauer
Datum: 24.09.08 10:33

Sofern die Steigung der Geraden sich nicht auf den Text vererben soll, dann in etwa wie folgt.

Sofern der Text quasi parallel zur Geraden stehen soll, dann Steigung ausrechen der Geraden und als Drehwinkel in eine Koordinatentransformaation vor dem Stringzeichnen reinstecken.


 Private Sub Form1_Paint(ByVal sender As Object, ByVal e As _
   System.Windows.Forms.PaintEventArgs) Handles Me.Paint
 
        LinieMitText(e.Graphics, New Point(10, 10), New Point(220, 410))
 
    End Sub
 
 
 
    ''' <summary>
    ''' Text steht direkt auf der Linienmitte, zentriert auf beiden Achsen, 
    ' nicht gedreht um Liniensteigung
    ''' </summary>
    ''' <param name="pGR"></param>
    ''' <param name="pP1"></param>
    ''' <param name="pP2"></param>
    ''' <remarks></remarks>
    Private Sub LinieMitText(ByVal pGR As Graphics, ByVal pP1 As Point, ByVal _
      pP2 As Point)
 
        Dim l_TextAnsatzStelle As New Point
        Dim l_SF As New StringFormat
 
        If pP1.X < pP2.X Then
            l_TextAnsatzStelle.X = pP1.X + 0.5 * (pP2.X - pP1.X)
        Else
            l_TextAnsatzStelle.X = pP2.X + 0.5 * (pP1.X - pP2.X)
        End If
 
        If pP1.Y < pP2.Y Then
            l_TextAnsatzStelle.Y = pP1.Y + 0.5 * (pP2.Y - pP1.Y)
        Else
            l_TextAnsatzStelle.Y = pP2.Y + 0.5 * (pP1.Y - pP2.Y)
        End If
 
        l_SF.LineAlignment = StringAlignment.Center
        l_SF.Alignment = StringAlignment.Center
 
        pGR.DrawLine(Pens.Black, pP1, pP2)
        pGR.DrawString("Hugo", New Font("Arial", 12), Brushes.Blue, _
          l_TextAnsatzStelle, l_SF)
 
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Linie zeichnen mit zentrierter Beschriftung1.704mullfreak24.09.08 08:45
Re: Linie zeichnen mit zentrierter Beschriftung1.556bauer24.09.08 09:47
Re: Linie zeichnen mit zentrierter Beschriftung1.495mullfreak24.09.08 10:14
Re: Linie zeichnen mit zentrierter Beschriftung1.472bauer24.09.08 10:33
Re: Linie zeichnen mit zentrierter Beschriftung2.047mullfreak24.09.08 10:46
Re: Linie zeichnen mit zentrierter Beschriftung1.776bauer24.09.08 11:09
Re: Linie zeichnen mit zentrierter Beschriftung1.454mullfreak24.09.08 11:28

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-2025 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