| src_x - x-координата исходного пиксела src_y - y-координата исходного пиксела src_buffer - имя буфера, из которого происходит копирование, например ImageBuffer() dest_x - x-координата результирующего пиксела dest_y - y-координата результирующего пиксела dest_buffer (не обязательно) - имя буфера, в который происходит копирование, например BackBuffer() |
|
ВАЖНО: Вы должны использовать эту команду на заблокированном буфере, иначе команда будет выполнена неправильно. Смотрите описание команды LockBuffer. Кроме того, Вы должны удостовериться, что исходные и конечные координаты, которые Вы указываете для копирования, правильны, иначе Вы можете влезть в другие области памяти. ПРЕДУПРЕЖДЕНИЕ: Не последовав вышеупомянутому совету, Вы можете "подвесить" компьютер. Смотрите также: CopyPixel. |
| ; Пример CopyPixel/CopyPixelFast ; ------------------------------- Graphics 640,480,16 Print "Нажмите клавишу, чтобы использовать CopyPixel и скопировать верхнюю половину изображения в frontbuffer" WaitKey() ; Загружаем рисунок pic=LoadImage("media/blitz_pic.bmp") ; Используем CopyPixel, чтобы скопировать верхнюю часть рисунка в frontbuffer For y=0 To ImageHeight(pic)/2 For x=0 To ImageWidth(pic) CopyPixel x,y,ImageBuffer(pic),x,y Next Next Locate 0,GraphicsHeight()/2 Print "Нажмите клавишу, чтобы использовать CopyPixelFast и скопировать нижнюю половину изображения в frontbuffer" Print " Когда программа закончит работу, нажмите любую клавишу" WaitKey() ; Заблокируем буфер перед использованием CopyPixelFast LockBuffer ; Используем CopyPixelFast и скопируем нижнюю половину изображения в frontbufferUse For y=0 To (ImageHeight(pic)/2)+ImageHeight(pic) For x=0 To ImageWidth(pic) CopyPixelFast x,y,ImageBuffer(pic),x,y Next Next ; Разблокируем буфер после использования CopyPixelFast UnlockBuffer WaitKey() |