POINT

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » P » POINT

Syntax A: POINT(x, y [, Puffer] )
Syntax B: POINT(Funktion)
Typ: Funktion
Kategorie: Gfx

POINT gibt Informationen über die zuletzt gesetzten Pixel oder die Farbe eines Pixels zurück.

Wenn die Koordinaten (Syntax A) außerhalb des aktuellen Clipping-Bereichs liegen, gibt POINT -1 zurück. Achtung: In einem TrueColor-Screenmodus kann auch ein weißer Pixel diesen Wert zurückgeben!
Andernfalls ist das Ergebnis eine Zahl im Format, das auch bei COLOR verwendet wird.

Wenn POINT mit nur einem Parameter aufgerufen wird (Syntax B), wird die aktuelle Grafikcursorposition ausgegeben; der zurückgegebene Wert hängt von 'Funktion' ab:

0aktuelle physische X-Koordinate
1aktuelle physische Y-Koordinate
2aktuelle X-Bildschirmkoordinate. Wenn WINDOW nicht eingesetzt wurde, ist das Ergebnis dasselbe wie für POINT(0).
3aktuelle Y-Bildschirmkoordinate. Wenn WINDOW nicht eingesetzt wurde, ist das Ergebnis dasselbe wie für POINT(1).

Beispiel:

'Grafikfenster erstellen (500x200 Pixel mit 32bit Farbtiefe)
ScreenRes 500, 200, 32

'Hintergrundfarbe (rot) einstellen und einfärben
Dim As Integer farbe = &HFF0000
Color ,farbe
Cls

Print "Die Hintergrundfarbe wurde auf den Wert &H" & Hex(farbe) & " gestellt"

Print "Point gibt den Wert &H" & Hex(Point(10, 10)) & " zurueck"

Print "Point mit Funktionswert '0' ergibt: " & Point(0)

Sleep

Wie man in einem Hi- oder Truecolor-Modus die von POINT zurückgegebene Farbe auswerten und interpretieren kann, wird in einem anderen Codebeispiel verraten.

Hinweis: POINT und seine Gegenfunktion PSET (Grafik) sind aufgrund der internen Berechnungen und Prüfungen sehr langsam. Wenn Sie stattdessen mithilfe von IMAGEINFO und SCREENINFO/SCREENPTR die Speicheradresse selbst bestimmen und PEEK verwenden, können Sie eine viel bessere Performance erzielen. Mit ASM ist eine noch bessere Geschwindigkeitssteigerung möglich.

Unterschiede zu QB:

Siehe auch:
PSET, PMAP, COLOR (Anweisung), Grafik