Работа с графикой (ДОС)

  • Автор темы BattleMage
  • Дата начала
B

BattleMage

Гость
#1
Здравствуйте, товарищи. Доброго времени суток!
У меня возникла такая проблема: как вообще пользоваться графикой в Си под ДОСом (Borland C++ 3.1)
библиотеку graphics.h включать умею :)

Скопировал прогу из хелпа стандартного, но она не пашет.
Ошибки такие:
undefined symbol _closegraph() in module ...\BAR.cpp
undefined symbol _bar() in module ...\BAR.cpp
undefined symbol _grapherrormsg() in module ...\BAR.cpp
и так далее...

Текст проги такой:
Код:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

void main()
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, i;

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
return;
/* terminate with an error code */
}

midx=320;
midy=240;
// midx = getmaxx() / 2;
// midy = getmaxy() / 2;

/* loop through the fill patterns */
for (i=SOLID_FILL; i<USER_FILL; i++)
{
/* set the fill style */
//  setfillstyle(i, getmaxcolor());
/* draw the bar */
bar(midx-50, midy-50, midx+50, midy+50);
getch();
}

/* clean up */
closegraph();
return;
}
Папку BGI скопировал в папку с прогой (bar.cpp)
 
P

Pasha

Гость
#2
Для: BattleMage
Где-то в опциях линкера есть галочка для подключения графических библиотек.
З.Ы. BC++ 3.1...Некрофил :(
 
B

BattleMage

Гость
#4
А как рисовать прямоугольники разными цветами?

Код:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

void main()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "d:\\BC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\nPress any key to halt:", grapherrormsg(errorcode));
getch();
return;
}
bar(0,0,160,480);
bar(320,0,480,480);
getch();
return;
}
 
T

TeD

Гость
#5
кстати, я юзаю Dev-C++. там нет библиотеки graphics.h. Или я просто чего то незнаю? Если несложно подскажите
 
P

Pasha

Гость
#6
Для: TeD
Это библиотека от борланда. Та же самая, которая шла с Turbo Pascal.
Для: BattleMage
Поищи в graphics.h функции вроде setcolor/setfillcolor.
 
M

magnatix

Гость
#7
Помогите плз.;) У меня turbo C под MS-DOS , у меня не получаеться подклучить модуль <graphics.h>, программа правилиная точно так как с книги пробовал переписывать, но проблема в том что после того как компилирую программу выбивает ошибку связаную с initgraph и line, уверен в том что просто не могу подключить графику!!! <_<