C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 putimage / p / Библиотечн. функции Borland C++

putimage

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

Синтаксис          #include <graphics.h>
                   void far putimage(int left,int top,
                                      void far *bitmap,int op);

Файл, содержащий   graphics.h
прототип

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

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

                   Перечень значений putimage_op  (как  определено  в
                   graphics.h) дает названия следующим операциям:

                   -------------------------------------------
                   ИМЯ          ЗНАЧ.       ОПИСАНИЕ
                   -------------------------------------------
                   COPY_PUT      0          копия
                   XOR_PUT       1          исключающее "или"
                   OR_PUT        2          "или"
                   AND_PUT       3          " и "
                   NOT_PUT       4          копия источника с
                                            инверсией
                   -------------------------------------------

                   Другими словами, COPY_PUT скопирует побитный образ
                   источника  на  экран,  XOR_PUT  выполнит  операцию
                   ИСКЛЮЧАЮЩЕЕ ИЛИ  над  уже  находящемся  на  экране
                   образом,  OR_PUT  выполнит  операцию  ИЛИ  над уже
                   находящемся на экране образом и т.д.

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

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

Смотрите также     getimage, imagesize, putpixel, setvisualpage.

Пример:

#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;
}

void draw_arrow(int x,int y)
{
   /* нарисовать на экране стрелку */
   moveto(x,y);
   linerel(4*ARROW_SIZE,0);
   linerel(-2*ARROW_SIZE,-1*ARROW_SIZE);
   linerel(0,2*ARROW_SIZE);
   linerel(2*ARROW_SIZE,-1*ARROW_SIZE);
}




Дебетовая карта Home Credit [CPS] RU