WinBGIm - это графическая библиотека BGI, портированная by Michael Main at the University of Colorado.
Для того, чтобы подключить ее в IDE Code Blocks, необходимо выполнить следующие действия
Внимание! Библиотека несовместима с новыми версиями Code Blocks, поэтому рекомендую скачать portable версию с сайта codeblocks.codecutter.org
Распакуйте архив. Для работы запускайте файл "CbLancher.exe" (НЕ "codeblocks.exe"!)- Загрузите файлы graphics.h и winbgim.h поместите его в папку компилятора MinGW include (например C:\Program Files\CodeBlocks\MinGW\include)
- Загрузите файл libbgi.a и поместите его в папку lib (C:\Program Files\CodeBlocks\MinGW\lib)
- В Code::Blocks откройте Settings >> Compiler and debugger >> Linker settings
- Нажмите кнопку Add в Link libraries и загрузите файл libbgi.a
- В правой части (Other linker options) вставьте команды:
- -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
- Нажмите OK
Теперь вы можете скомпилировать проект, используя “graphics.h”. Попробуйте запустить следующий код:
#include <graphics.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include<math.h>
#include<dos.h>
#include<string.h>
#include<iostream>
#include<ctime>
using namespace std;
int main( void)
{
//---------- Инициализация графики ----------//
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver,&gmode,"");
//---------- Конец инициализации -----------//
setfillstyle(SOLID_FILL,GREEN);
setcolor(GREEN);
rectangle(50,50,50+400,50+300);
floodfill(51,51,GREEN);
setfillstyle(SOLID_FILL,RED);
setcolor(RED);
circle(250,200,100); //круг
floodfill(240,200,RED);
//---------- Завершение работы ------------//
getch();
closegraph();
return 0;
}
Список функций для работы с графикой
void arc( int x, int y, int stangle, int endangle, int radius ); // дуга
void bar( int left, int top, int right, int bottom ); // закрашенный прямоугольник
void bar3d( int left, int top, int right, int bottom, int depth, int topflag ); // параллелепипед
void circle( int x, int y, int radius ); // круг
void cleardevice( ); // очистить экран
void drawpoly(int n_points, int* points); // многоугольник
void ellipse( int x, int y, int stangle, int endangle, int xradius, int yradius ); // эллипс
void fillellipse( int x, int y, int xradius, int yradius ); // закрашенный эллипс
void fillpoly(int n_points, int* points); // закрашенный многоугольник
void floodfill( int x, int y, int border ); // закрасить область, содержащую точку (x,y)
void line( int x1, int y1, int x2, int y2 ); // рисовать отрезок
void linerel( int dx, int dy );
void lineto( int x, int y ); // рисовать линию из текущей точки в заданную
void pieslice( int x, int y, int stangle, int endangle, int radius );
void putpixel( int x, int y, int color ); // нарисовать точку
void rectangle( int left, int top, int right, int bottom ); // прямоугольник
void sector( int x, int y, int stangle, int endangle, int xradius, int yradius ); // сектор
void moverel( int dx, int dy );
void moveto( int x, int y );
void refreshbgi(int left, int top, int right, int bottom);
void refreshallbgi( );
void setbkcolor( int color );
void setcolor( int color ); // установить
void setfillpattern( char *upattern, int color );
void setfillstyle( int pattern, int color );
void setlinestyle( int linestyle, unsigned upattern, int thickness );
void setrefreshingbgi(bool value);
void setviewport( int left, int top, int right, int bottom, int clip );
void setwritemode( int mode );
я скачал code blocks по вашей ссылке, библиотеки скачал, все хорошо, только не могу разобраться в старом коуд блоксе: проект создал, а окна для написание кода нет. Вернее оно есть только написать там ничего не могу, просто серый экран. Очень буду рад помощи. Заранее спасибо:)
ОтветитьУдалитьFile -> Open -> project
ОтветитьУдалитьК сожалению у меня ничего не вышло. Компилятор вежливо извинился: sorry, unimplemented: 64-bit mode not compiled in -- извините, не реализовано: 64-битный режим не компилируется в
ОтветитьУдалить