GrabImage image,x,y,[frame]

Параметры

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

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

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