Возвращает атрибут цвета пикселя по указанным координатам
Синтаксис
result = Point( coord_x, coord_y [,buffer] )
или
result = Point( function_index )
Параметры
coord_x
x координата пикселя
coord_y
y координата пикселя
buffer
буфер изображения для чтения из него
function_index
тип координат экрана для возврата: одно из значений 0, 1, 2, 3
Возвращаемое значение
Если координаты пикселя
x, y предоставляются , то
Point
возвращает атрибут цвета по указанным координатам, как индекс 8-битовой
палитры в 8 bpp индексном режиме, или 24-битное RGB значение в 16 bpp режиме (старшие
8 бит целого числа не используются, ограниченная точность R,G,B), или 32-битное
значение RGB или RGBA в 32 bpp режиме (Старшие 8 бит не используются или
используются под значение Alpha). Обратите внимание, что
Point не возвращает 16-битное значение (5 бит R + 6 бит G + 5 бит B).
Если аргументом функции является индекс,
Point возвращает
одну из координат графического курсора, установленного последней графической
командой.
Аргумент | Возвращаемое значение |
0 |
Текущая физическая X координата. |
1 |
Текущая физическая Y
координата. |
2 | Текущая логическая X координата.
Это возвращает такое же значение как POINT(0) , если не был использован
оператор WINDOW. |
3 | Текущая логическая
Y координата. Это возвращает такое же значение
как POINT(1) , если не был использован оператор WINDOW |
Описание
GfxLib Функция с двумя различными видами использования.
Если передаются две координаты, она читает цвет пикселя в координатах
coord_x,
coord_y
экрана, или
buffer, если передается.
Возвращение значение является индексом цвета в 256 или меньше цветов
Screen,
и
RGB значением в полноцветных режимах.
Если координаты даны вне экрана или вне буфера, то возвращается
-1
Если передается одно значение,
Point
возвращает одну из координат графического курсора, который был установлен
последней графической командой. Если последняя графическая команда
была выполнена для буфера, возвращаемое значение будет координатой из
буфера. Аргумент вне диапазона
0-
3 вернет
0.
Функция
Point не работает в текстовых режимах.
Быстрое примечание:
Point предоставляет достоверные
результаты, но это довольно медленная операция при многократных вызовах
из-за дополнительных расчетов и проверок. Намного лучшая производительность
может быть достигнута с помощью прямого доступа к памяти, используя
результаты, полученные из
ImageInfo
и
ScreenInfo/
ScreenPtr.
Пример
' Режим экрана - 320 x 240 с 8bpp индексным
цветом
ScreenRes 320, 240, 8
' Рисуем линию с цветом 12 (светло-красный)
Line (20,20)-(100,100), 12
' Печатаем цвет точки на линии
Print Point(20,20)
' Ждем нажатия клавиши
Sleep
Вывод:
12
Отличия от QB
- buffer является новым в FreeBASIC
- В 16 bpp и 32 bpp режимах, возвращается 32-разрядное значение вместо
8-разрядного индекса палитры
См. также