Получение изображений в C / C ++? - PullRequest
0 голосов
/ 19 января 2012

Я делал игру-головоломку просто для удовольствия, используя C. Могу ли я использовать изображения в своем коде, которые мы можем использовать на других языках, таких как JavaScript, указав их местоположение или путь?

Я на машине с Ubuntu, GCC complier. Я не использую графическую библиотеку.

Ответы [ 3 ]

1 голос
/ 19 января 2012

Прежде всего, вам нужен какой-то графический интерфейс. Стандартные библиотеки C не имеют. В Ubuntu вы можете использовать QT (http://qt.nokia.com/products/) или GTK (http://www.gtk.org/).

)

Если вы хотите читать изображения, вам также нужна библиотека. Укажите, какой формат изображения вас интересует. Существуют буквально сотни библиотек изображений. Например: JPEG: http://sourceforge.net/projects/libjpeg/, BMP: http://easybmp.sourceforge.net/

Как видите, очень сложно написать даже простую игру с красивым графическим пользовательским интерфейсом на C. Си хорош для быстрых вычислений и терминальных программ. Мой совет: если вы хотите быстро разработать красивую игру, подумайте об использовании Java, Python или C ++. Лично я предпочитаю, чтобы оконное приложение написание Java было действительно быстрым и простым.

0 голосов
/ 19 января 2012

используя язык c, вы можете прочитать файл изображения вот так

int width, height;
unsigned char * data;
FILE * file;

file = fopen( filename, "rb" );
if ( file == NULL ) return 0;
width = 1024;

height = 512;

data = (unsigned char *)malloc( width * height * 3 );
//int size = fseek(file,);
fread( data, width * height * 3, 1, file );

fclose( file );

все значения RGB изображения хранятся в переменной unnsned char * data, но чтобы использовать эту переменную для рисования изображения, я думаю, что вы должны использовать графическую библиотеку OpenGL методом наложения текстур. Существуют и другие библиотеки, которые предоставляют функцию для загрузки изображения, например, SDL. Поэтому я предлагаю вам использовать библиотеку SDL с c для создания вашей игры.

0 голосов
/ 19 января 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...