Ошибка Windows при использовании graphics.h

Я пытаюсь использовать библиотеку graphics.h для C / C ++, чтобы получить значения пикселей из некоторых изображений. Программа компилируется без каких-либо ошибок или предупреждений, но когда я пытаюсь ее выполнить, открывается окно со следующим сообщением: «version2.exe столкнулся с проблемой и должен быть закрыт. Приносим извинения за неудобства».

Мой код:

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

/* Macros to set important values for
*  size and number of images
*/
#define IMAGES 9
#define WIDTH 200
#define HEIGTH 225

/* Receives the image number and load it using
* readimagefile() function from BGI libary.
*/
void loadImage(int imageNumber);

int main(int argc, char const *argv[])
{
int row, column, image;
int red[HEIGTH][WIDTH][IMAGES], green[HEIGTH][WIDTH][IMAGES], blue[HEIGTH][WIDTH][IMAGES];
int pixelValue;
int finalWindow, currentWindow;for (image = 0; image < IMAGES; ++image)
{
currentWindow = initwindow(WIDTH, HEIGTH, "current"); // creates window to receive image
setcurrentwindow(currentWindow); // set recent window as the current window
loadImage(image);

for (row = 0; row < HEIGTH; ++row)
{
for (column = 0; column < WIDTH; ++column)
{
pixelValue = getpixel(row, column);
green[column][row][image] = GREEN_VALUE(pixelValue);
red[column][row][image] = RED_VALUE(pixelValue);
blue[column][row][image]= BLUE_VALUE(pixelValue);
}
}
}

getch();

return 0;

}

void loadImage(int imageNumber)
{
char str[5];
sprintf(str, "%i.jpg", imageNumber);
readimagefile(str, 0, 0, WIDTH, HEIGTH);
}

0

Решение

graphics.h относится к графической библиотеке MS DOS «BGI», автор Borland. Он поддерживается только компиляторами Borland DOS и не может быть перенесен на другую ОС, за исключением старых версий Windows, таких как Windows 95/98, которые все еще поддерживают DOS.

0

Другие решения

graphics.h — это библиотека, использовавшаяся компиляторами Borlando (например, Turbo C) в 1990-х годах. Сейчас она очень устарела и не поддерживается основными компиляторами. Вместо graphics.h вы можете использовать функцию графической библиотеки, определенную вашим compiler.graphic функции отличаются от компилятора к компилятору, потому что они не являются частью стандартного языка c, они реализуются по-разному различными компиляторами

0