|
x - координата x пиксела
y - координата y пиксела buffer (не обязательно) - имя буфера, из которого будем читать пиксел, например BackBuffer() (по умолчанию) |
|
Читает значения цвета указанной точки в указанном буфере или в том, корый является текущим на данный момент).
Возвращает целое число, которое содержит в себе значения альфы и красного, зеленого и синего цветов. Вы можете использовать эту команду на заблокированном буфере для небольшого ускорения работы. Смотрите LockBuffer. Предупреждение: это - команда низкого уровня без проверки ошибок в параметрах координат, используйте её внимательно, т.к. с координатами точки, выходящими за пределы используемого буфера, она может вернуть значение непредсказуемого участка памяти. Смотрите также: GetColor, ReadPixelFast. |
|
; Пример ReadPixel/WritePixel
; ---------------------------- Graphics 640,480,16 Print "Нажмите любую клавишу для начала чтения пиксела" WaitKey() ; Загружаем и выводим рисунок на экран pic=LoadImage("media/blitz_pic.bmp") DrawImage pic,0,0 ; Организуем массив, в который занесем цвета всех точек экрана Dim pix(GraphicsWidth(),GraphicsHeight()) ; Используя ReadPixel, занесем каждый пиксел в массив For y=0 To GraphicsHeight() For x=0 To GraphicsWidth() pix(x,y)=ReadPixel(x,y) Next Next Cls Locate 0,0 Print "Нажмите любую клавишу, чтобы вывести массив на экран" Print "По окончании нажмите любую клавишу для выхода" WaitKey() ; Используя WritePixel, выведем сохраненные пикселы снова на экран For y=0 To GraphicsHeight() For x=0 To GraphicsWidth() WritePixel x,y,pix(x,GraphicsHeight()-y) ; координату y перевернем Next Next WaitKey() |