|
image =указатель рисунка x = координата x для захвата y = координата y для захвата frame = кадр рисунка, в который вставится захваченное изображение (не обязательно) |
| Возможно, что это одна из самых полезных команд в Blitz Basic-е.
Эта команда позволяет Вам захватывать часть текущего буфера (это может быть изображение, если Вы установили буфер как ImageBuffer), и сохранять её в указанный рисунок. Есть миллион применений для этой команды, поэтому я позволю Вам использовать Ваше воображение. Сначала Вы должны использовать CreateImage, чтобы создать новое пустое изображение, в которой будете копировать захваченную часть. В зависимости от того, какого размера будет созданное изображение, ИМЕННО ТАКОГО РАЗМЕРА участок буфера и будет захвачен в него, начиная от координат от x, y указанных в команде GrabImage. Например, Вы создаете новое изображение с размером 50 на 50 пикселей. Когда Вы вызываете GrabImage, указываете x=100, y=100. Область, которую Вы захватите и поместите в ваше новое изображение, будет расположена в координатах 100,100 - 150,150. Если Вы попытаетесь использовать GrabImage с указателем несуществующего изображения, то получите сообщение об ошибке. Заметьте: Вы можете ЗАМЕНИТЬ существующее изображение захваченным. Смотрите пример. |
|
; Пример GrabImage
; Установим графический режим Graphics 640,480,16 ; Установим рабочим передний буфер (экран) SetBuffer FrontBuffer() ; Создаем пустой рисунок gfxGrab=CreateImage(100,100) ; Рисуем случайные прямоугольники до нажатия клавиши ESC While Not KeyHit(1) ; случайный цвет Color Rnd(255),Rnd(255),Rnd(255) ; случайный прямоугольник Rect Rnd(640),Rnd(480),Rnd(100),Rnd(100),Rnd(1) Delay 50 Wend ; Захватываем рисунок с координат 100,100 и помещаем его в gfxGrab GrabImage gfxGrab,100,100 ; Очищаем экран и выводим захваченное изображение Cls Text 0,0, "Это то, что Вы отхватили! Нажмите на кнопку мыши..." DrawImage gfxgrab,50,50 ; Ждем нажатия кнопки мыши WaitMouse() |