ReadPixelFast (x,y,[buffer])

Параметры

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()

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в Интернете