Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Функция Запоминает битовый образ некоторой области экрана.

 
 
 
 Синтаксис          #include <graphics.h>
 
                    void far getimage(int left, int top, int
 
                                       right,int bottom, void
 
                                       far *bitmap);
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           getimage копирует  образ c экрана в память.  left,
 
                    top,  right и  bottom  определяют  область  экрана
 
                    прямоугольной  формы,  которая  будет скопирована.
 
                    bitmap  указывает  на  область  в   памяти,   куда
 
                    записывается битовый образ.  Первые два слова этой
 
                    области задают  ширину  и  высоту  прямоугольника,
 
                    оставшиеся определяют сам образ.
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      Функция уникальна для Borland  C++.  Она  работает
 
                    только на компьютерах IBM PC и совместимых с ними,
 
                    оснащенных дисплейными адаптерами, поддерживающими
 
                    графический   режим.   Функция   не  совместима  с
 
                    Windows.
 
 
 
 Смотрите также     imagesize, putimage, putpixel.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 #include<alloc.h>
 
 
 
 void save_screen(void far *buf[4]);
 
 void restore_screen(void far *buf[4]);
 
 int maxx,maxy;
 
 
 
 int main(void)
 
 {
 
 int graphdriver = DETECT, gmode, errorcode;
 
 void far *ptr[4];
 
 
 
 /* автоматическое определение драйвера и режима */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 maxx = getmaxx();
 
 maxy = getmaxy();
 
 /* нарисовать на экране изображение */
 
 rectangle(0,0,maxx,maxy);
 
 line(0,0,maxx,maxy);
 
 line(0,maxx,maxy,0)
 
 save_screen(ptr);        /* сохранить экран */
 
 getch();                 /* пауза */
 
 cleardevice();           /* обнуление экрана */
 
 restore_screen(ptr);     /* восстановление экрана */
 
 getch();                 /* пауза */
 
 
 
 closegraph();
 
 return 0;
 
 }
 
 
 
 void save_screen(void far *buf[4])
 
 {
 
    unsigned size;
 
    int ystart=0,yend,yincr,block;
 
    yincr = (maxy+1)/4;
 
    yend = yincr;
 
    size = imagesize(0,ystart,maxx,yend); /* получить размер изо-
 
                                             браженияв байтах */
 
    for(block = 0; block<=3; block++)
 
    {
 
       if(buf[block] = farmalloc(size))== NULL)
 
       {
 
          closegraph();
 
          printf("Ошибка! Не хватает памяти для сохранения экрана\n");
 
          exit(1);
 
       }
 
    getimage(0,ystart,maxx,yend,buf[block]);
 
    ystart = yend+1;
 
    yend += yincr+1;
 
    }
 
 }
 
 void restore_screen(void far *buf[4]);
 
 {
 
    int ystart=0,yend,yincr,block;
 
    yincr = (maxx+1)/4;
 
    yend = yincr;
 
    for(block=0;block<=3;block++)
 
    {
 
       putimage(0,ystart,buf[block],COPY_PUT);
 
       farfree(buf[block]);
 
       ystart = yend+1;
 
       yend += yincr+1;
 
    }
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS