Abbilden von Punkten

Das Festlegen einzelner Pixel ist eine einfach Grafikoperation. Die PSet-Methode legt die Farbe eines Pixels an einer bestimmten Position fest:

[Objekt.]PSet (x, y)[, Farbe]

Die Argumente x und y sind Werte einfacher Genauigkeit und können Ganzzahlen oder Dezimalzahlen darstellen. Sie können für die Argumente einen beliebigen numerischen Ausdruck (einschließlich Variablen) verwenden.

Wenn Sie das Argumten Farbe nicht angeben, setzt PSet ein Pixel auf die Vordergrundfarbe (ForeColor). Die folgenden Anweisungen setzen verschiedene Punkte im aktuellen Formular (dem Formular, mit dem der Code verknüpft ist) sowie im Formular "MyForm" und im Bildfeld "picPicture1":

PSet (300, 100)                          MyForm.PSet (230, 1000)

PSet (10.75, 50.33)                      picPicture1.PSet (1.5, 3.2)

Durch die Angabe des Arguments Farbe haben Sie noch mehr Steuerungsmöglichkeiten:

PSet (50, 75), RGB(0, 0, 255)          ' 50, 75 auf leuchtend blau setzen.

 Abbildung 49   Konfetti-Anzeige in der Bildschirmschoner-Anwendung

Die Bildschirmschoner-Anwendung "Blanker.vbp" gibt Punkte mit Zufallsfarben aus, um eine Konfetti-Demo zu erstellen. Die PSetDemo-Prozedur erstellt die Konfetti-Pixel:

Sub PSetDemo ()

   ' Rot auf Zufallswert setzen.

   R = 255 * Rnd

   ' Grün auf Zufallswert setzen.

   G = 255 * Rnd

   ' Blau auf Zufallswert setzen.

   B = 255 * Rnd

   ' Horizontale Position setzen.

   XPos = Rnd * ScaleWidth

   ' Vertikale Position setzen.

   YPos = Rnd * ScaleHeight

   ' Punkt mit Zufallsfarbe abbilden.

   PSet (XPos, YPos), RGB(R, G, B)

End Sub

Sie löschen einen Punkt, indem Sie ihn auf die Hintergrundfarbe setzen:

PSet (50, 75), BackColor

Eng mit der PSet-Methode verwandt ist die Point-Methode, die aber den Farbwert an einer bestimmten Position zurückgibt:

PointColor = Point (500, 500)

Zeichnen von Linien und Figuren

Das Löschen des Ausgabebereichs und das Zeichnen einzelner Punkte kann zwar hilfreich sein, aber die interessantesten Grafikmethoden verwenden vollständige Linien und Figuren.

Zeichnen von Linien

Sie zeichnen eine Linie zwischen zwei Koordinaten, indem Sie die einfache Form der Line-Methode verwenden, die folgende Syntax besitzt:

[Objekt.]Line [(x1, y1)]-(x2, y2)[, Farbe]

Objekt ist optional. Wenn Objekt nicht angegeben wird, erscheint die Ausgabe der Methode im Formular, dem der Code zugeordnet ist (das aktuelle Formular). Das erste Koordinatenpaar ist ebenfalls optional. Wie alle Koordinatenwerte können die Argumente x und y entweder Ganzzahlen oder Dezimalzahlen sein. Die folgende Anweisung zeichnet beispielsweise eine schräge Linie in ein Formular.

Line (500, 500)-(2000, 2000)

Visual Basic zeichnet eine Linie, die den ersten Endpunkt einschließt, aber nicht den zweiten Endpunkt. Dies ist besonders dann hilfreich, wenn geschlossene Figuren von einem Punkt zum nächsten gezeichnet werden sollen. Den letzten Punkt zeichnen Sie mit der folgenden Syntax:

PSet [Step](0, 0)[, Farbe]

Das erste Koordinatenpaar (x1, y1) ist optional. Wenn Sie diese Koordinaten nicht angeben, wird als Endpunkt die aktuelle x-, y-Position des Objekts (die Zeichenkoordinaten) verwendet. Die aktuelle Position kann durch die Eigenschaften CurrentX und CurrentY angegeben werden; ansonsten wird der letzte von einer vorhergehenden Grafikmethode oder der Print-Methode gezeichnete Punkt verwendet. Wenn bis dahin weder eine Grafikmethode noch die Print-Methode verwendet wurde und auch CurrentX und CurrentY nicht gesetzt wurden, ist die Standardposition des Objekts die linke obere Ecke.

Die folgenden Anweisungen zeichnen beispielsweise ein Dreieck, indem drei Punkte miteinander verbunden werden.

CurrentX = 1500        ' x-Koordinate auf Anfangspunkt setzen.

CurrentY = 500         ' y-Koordinate auf Anfangspunkt setzen.

Line -(3000, 2000)     ' Linie vom Anfangspunkt nach rechts unten zeichnen.

Line -(1500, 2000)     ' Linie vom aktuellen Punkt nach links zeichnen.

Line -(1500, 500)      ' Linie nach oben rechts bis zum Anfangspunkt zeichnen.

Das Step-Schlüsselwort

Die Methoden PSet, Line und Circle bezeichnen einen oder mehrere Punkte mit der folgenden Syntax:

(x, y)

Jedem dieser Punkte kann das Step-Schlüsselwort vorangestellt werden, um anzugeben, dass die Position des Punktes relativ zum zuletzt gezeichneten Punkt ist. Visual Basic addiert die Werte x und y zu den Werten des zuletzt gezeichneten Punktes hinzu. Die Anweisung

Line (100, 200)-(150, 250)  und die Anweisung    Line (100, 200)-Step(50, 50)

sind daher gleichwertig. In vielen Situationen können Sie mit dem Step-Schlüsselwort das ständige Zwischen­speichern des zuletzt gezeichneten Punktes umgehen.

Verwenden des Arguments Farbe

Sie können die Farbe einer Linie mit dem optionalen Argument Farbe für Grafikmethoden ändern. Die folgende Anweisung gibt beispielsweise eine leuchtend blaue Linie aus:

Line (500, 500)-(2000, 2000), RGB(0, 0, 255)

Wenn das Argument Farbe nicht angegeben wird, hängt die Farbe von der ForeColor-Eigenschaft des Objekts ab, in dem die Linie ausgegeben wird (Ausgabebereich).