Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Multimedia

k23:k23.3:k23.3.4:start

23.3.4.0 Paint-Projekte 1

In diesem Kapitel werden die Ausführungen zum Thema 'Zeichnen mit Methoden der Klasse Paint' in zwei konkrete Projekte umgesetzt. Fast alle Zeichnungen basieren auf skript-artigen Paint-Befehlsfolgen, da die Methoden der Klasse Paint mehr auf die Verwendung als Konstruktionsbeschreibung für Linien, Formen und Text ausgelegt sind als auf das freie Zeichnen auf einer geeigneten Zeichenfläche wie einer DrawingArea.

Die Vorstellung der Projekte wird durch Kommentare zum angegebenen Projekt-Quelltext und zahlreiche Bilder ergänzt.

B1

Abbildung 23.3.4.0.1: Tangentenschar

Quelltext-Ausschnitt:

Public Sub PaintScriptBezierApproximation()
  Dim PS, P1, P2, P3, PE As New PointF
  Dim i, k As Integer
  Dim dx1, dx2, t As Float
 
  GenerateNewPicture()
  SetPictureBorder()  
  Paint.Begin(hPicture) 
    Paint.Translate(xTranslate, yTranslate)
    Paint.Scale(xScale, yScale) ' +y ▲  
    DrawCoordinateSystem() 
 
    P1.x = 30
    P1.y = 240
    P2.x = 150
    P2.y = 30
    P3.x = 500
    P3.y = 270
    k = 30 ' Anzahl der Tangenten
    dx1 = (P2.x - P1.x) / k
    dx2 = (P3.x - P2.x) / k
    ...
    Paint.LineWidth = 1
    For i = 1 To k + 1
      Paint.MoveTo(P1.x + (i - 1) * dx1, a(P1.x + (i - 1) * dx1))
      Paint.LineTo(P2.x + (i - 1) * dx2, b(P2.x + (i - 1) * dx2))    
    Next
    Paint.Stroke
 
  ' TEXT
    Paint.NewPath
    Paint.Scale(1, -1) ' ACHTUNG: y-Achse jetzt mit *positiven* Werten nach unten!
    Paint.Font = Font["Monospace, 10, bold"]
    Paint.Brush = Paint.Color(Color.Red)
    Paint.DrawText("P1(30|240)", 10, -250)
    Paint.DrawText("P2(150|30)", 120, -10)     
    Paint.DrawText("P3(500|270)", 455, -285)
    Paint.Scale(1, -1)
  Paint.End
 
End ' PaintScriptBezierApproximation()

Download

Wir verwenden Cookies, um unser Internetangebot optimal zu gestalten. Durch weitere Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies zu. Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung
k23/k23.3/k23.3.4/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge