Учись программированию на C++ Builder бесплатно!

Функция


Выводит на экран битовый образ.

Синтаксис


#include <graphics.h>
void far putimage(int left, int top, void far *bitmap, int op);

Прототип


graphics.h

Описание


Функция putimage помещает битовый образ, ранее сохраненный с помощью getimage, обратно на экран, где левый верхний угол образа находится в точке (left, top). bitmap указывает область памяти в котором хранится требуемый образ.

Параметр op определяет составной оператор, который определяет вычисление цвета для каждой точки (pixel) экрана, основываясь на существующей уже на экране точке и соответствующей точке образа в памяти.

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


Нет.

Переносимость


Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows.

Пример


#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define ARROW_SIZE 10
void draw_arrow(int x, int y);

int main(void)
{
int graphdriver = DETECT, gmode, errorcode;
void *arrow;
int x,y,maxx;
unsigned int size;

/* инициализация драйвера и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
  printf("Ошибка :%s\n",grapherrormessage(errorcode));
  printf("Для останова нажмите любую клавишу\n");
  getch();
  exit(1); /* завершение с кодом ошибки */
}
maxx = getmaxx();
x = 0;
y = getmaxy()/2;
/* нарисовать перемещаемый объект */
draw_arrow(x,y);
/* определить размер памяти, для хранения изображения */
size = imagesize(x,y-ARROW_SIZE,x+(4*ARROW_SIZE),y+ARROW_SIZE);
/* выделить память */
arrow = malloc(size);
/* взять изображение */
getimage(x,y-ARROW_SIZE,x+(4*ARROW_SIZE),y+ARROW_SIZE,arrow);
/* продолжать, пока не будет нажата клавиша */
while(!kbhit())
{
  /* стереть старый образ */
  putimage(x,y-ARROW_SIZE,arrow,XOR_PUT);
  x += ARROW_SIZE;
  if(x >= maxx)
    x = 0;
  /* нарисовать изображение */
  putimage(x,y-ARROW_SIZE,arrow,XOR_PUT);
}
free(arrow);
closegraph();
return 0;
}

Поиск по сайту