GI.BufferSavePicture

From SunFlurry wiki
Jump to: navigation, search
  BufferSavePicture (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы, не поддерживаемый формат, системная ошибка.
Визуальность:Нет

Функция позволяет получить изображение из указанной области буфера или экрана (в том числе для мультиэталонного буфера (multi-sample buffer)), превратить его в картинку в указанном формате и поместить в указанный источник (буфер системы, строку или файл на диске).

Синтаксис

GI.BufferSavePicture(<Уникальный номер буфера или 0 для экрана (INT)>=0,<Смещение по x внутри буфера (INT)>=0,<Смещение по y внутри буфера (INT)>=0,<Ширина захватываемой картинки (INT)>=0,<Высота захватываемой картинки (INT)>=0,<Тип результата (INT)>=0,<Параметр, зависящий от типа результата>,<Формат результата (STRING)>="BMP",<Тип буфера (если не экран) (INT)>=0):<Результирующая картинка (BUFFER,STRING)>

Аргументы

  • <Уникальный номер буфера или 0 для экрана (INT)> - (необязательный аргумент) Аргумент задает уникальный номер экранного буфера, если получение каринки происходит из него или 0 для получения картинки с экрана (по умолчанию).
  • <Смещение по x внутри буфера (INT)>,<Смещение по y внутри буфера (INT)> - Аргументы задают начальное смещение в точках внутри источника. Для спецификации OpenGL точка (0,0) находится в нижней левой чсти экрана.
  • <Ширина захватываемой картинки (INT)>,<Высота захватываемой картинки (INT)> - Аргументы задают ширину и высоту картинки в точках внутри источника. Если аргументы не указаны будут использоваться ширина и высота окна GI за минусом начальных смещений.
  • <Тип результата (INT)> - (необязательный аргумент) Аргумент задает тип получаемого результата, доступны следующие значения:
    • 0 (по умолчанию) -- сохранить картинку в объект буфера (см. Буфер).
    • 1 -- сохранить объект в ANSI строку.
    • 2 -- сохранить объект в файл на диске. В этом режиме следующий аргумент задает имя файла.
  • <Параметр, зависящий от типа результата> - (необязательный аргумент) Аргумент задает имя файла на диске для сохранения картинки, если предыдущий аргумент равен 2, иначе текущий аргумент игнорируется.
  • <Формат результата (STRING)> - (необязательный аргумент) Аргумент задает формат сохраняемой картинки. Возможны следующие значения: BMP (по умолчанию), JPG, PNG, GIF.
  • <Тип буфера (если не экран) (INT)> - (необязательный аргумент) Аргумент задает тип графического буфера (в случае, если получение картинки происходит не с экрана). Возможные значения:
    • 0 (по умолчанию) -- обычный графический буфер.
    • 1 -- мультиэталонный графический буфера (multi-sample buffer).

Возвращаемое значение

При сохранении в строку или объект буфера, будут возвращены строка или буфер, при сохранении в файл на диске, будет возвращено пустое значение.

Примеры

...
//Сделать "снимок экрана" в виде PNG файла.
aGI.BufferSavePicture(,,,,,2,"c:\screen.png","png");
...