WritePixelFast x,y,rgb,[buffer]

Параметры

x - координата x пиксела
y - координата y пиксела
argb - компоненты цвета пиксела (альфа, красный, зеленый, синий)
buffer (не обязательно) - имя буфера, из которого будем читать пиксел, например BackBuffer()

Описание

Записывает цветовое значение в текущий или указанный буфер. Попросту говоря, поставит цветную точку в указанные координаты.

ЗАПОМНИТЕ :

Вы ДОЛЖНЫ использовать эту команду на заблокированном буфере, иначе получите ошибку. Смотрите LockBuffer.

Также, Вы должны убедиться, что координаты не выходят за пределы буфера, иначе получите непредсказуемый результат, занеся значение в неизвестный участок памяти.

ПРЕДУПРЕЖДЕНИЕ:

Не последовав этим советам, можете получить "зависший" компьютер.

Смотрите также: Plot, WritePixel.

Пример

; Пример 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()


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

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