Referenz - POINT
Syntax A: POINT (x, y [, Puffer] )
Syntax B: POINT (Funktion)
Typ: Funktion
Kategorie: Grafik
POINT gibt Informationen über die Farbe eines Pixels oder über die aktuelle Position des Grafikcursors zurück.
- 'x' und 'y' sind die Koordinaten des Pixels, dessen Farbe zurückgegeben werden soll. Die Koordinaten sind von den letzten WINDOW- und VIEW-Anweisungen abhängig.
- 'Puffer' ist ein Puffer, wie er mit PUT verwendet wird. Wird 'Puffer' ausgelassen, so liest FreeBASIC direkt vom Bildschirm.
- 'Funktion' gibt an, welche Koordinate zurückgegeben werden soll.
Wenn die Koordinaten (Syntax A) außerhalb des aktuellen Clipping-Bereichs liegen, gibt POINT -1 zurück. Andernfalls ist das Ergebnis eine Zahl im Format, das auch bei COLOR verwendet wird.
Achtung: In einem TrueColor-Screenmodus kann auch ein weißer Pixel den Wert -1 zurückgeben!
Wenn POINT mit nur einem Parameter aufgerufen wird (Syntax B), wird die aktuelle Grafikcursorposition ausgegeben; der zurückgegebene Wert hängt von 'Funktion' ab:
0 | aktuelle physische x-Koordinate |
1 | aktuelle physische y-Koordinate |
2 | aktuelle x-Bildschirmkoordinate. Wenn WINDOW nicht eingesetzt wurde, ist das Ergebnis dasselbe wie für POINT(0). |
3 | aktuelle 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 Codebeispiel zur RGB-Konvertierung behandelt.
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 direkten Pointer-Zugriff verwenden, können Sie eine viel bessere Performance erzielen. Mit ASM ist eine noch bessere Geschwindigkeitssteigerung möglich.
Unterschiede zu QB:
- 'Puffer' ist neu in FreeBASIC.
- In allen Bildschirm-Modi ab 15-Bit Farbtiefe gibt FreeBASIC einen 32-Bit RGB-Wert zurück.
Siehe auch:
PSET, PMAP, COLOR (Anweisung), Grafik
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|