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