Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ вывод графического файла на С

Автор: Tan 14.09.2007 4:08

Доброе время суток, подскажите пожалуйста функцию для вывода графического файла (допустим .bmp) на экран.

Автор: volvo 14.09.2007 4:18

Программа читает 2-х, 16 и 256-цветные файлы:
Прикрепленный файл  bmp_read.rar ( 11.08 килобайт ) Кол-во скачиваний: 432


(обрати внимание на переменную VGA256, по умолчанию она = 1, если файл не 256-цветный, надо сбросить в 0... Вообще-то это следовало бы делать автоматически, но... smile.gif )

Автор: Tan 14.09.2007 4:21

... в жизни не всё так просто smile.gif Спасибо за программу, буду разбираться!

Автор: Tan 25.09.2007 18:46

Добрый день, у меня появилось дополнение к вопросу. А существует ли в стандартных библиотеках С функция вывода на экран изображения из файла (допустим тот же бмп 256 цветов) ? (хочется облегчить себе жизнь). Что - то слышал про windows.h, но не нашёл описание этой библотеки.

Автор: volvo 25.09.2007 19:05

Tan, в стандартном С этого нет, есть в WinAPI, но ты ж ничего не сказал про ОС, под которой это все должно будет работать. И о компиляторе, которым пользуешься - ты тоже умолчал.

Описание функций из windows.h - в MSDN. Конкретно функции работы с битмапами - здесь: http://msdn2.microsoft.com/en-us/library/ms532343.aspx

Автор: Tan 25.09.2007 19:17

Компилятор ВСPP 3.1, os - winXP, в msdn есть loadimage, но я не особо въехал в аргументы этой функции. Допустим, что можно работать с winapi.

Автор: volvo 25.09.2007 19:24

Использовать как-то вот так:

HBITMAP image;

image = (HBITMAP)LoadImage(
NULL, "image.bmp", IMAGE_BITMAP,
0, 0,
LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT
);

Автор: Tan 25.09.2007 19:30

А в какой части программы это писать ? Вы не могли бы привести пример программы, использующей эту функцию для вывода изображения. Я просто до этого с winapi не работал.

Автор: volvo 25.09.2007 19:42

Вот рабочий проект (вместе с EXE-шником, если не боишься smile.gif), отрисовывающий BMP из файла:

Прикрепленный файл  test.rar ( 112.86 килобайт ) Кол-во скачиваний: 409


(тестировалось, правда, на GCC)

Автор: Tan 25.09.2007 19:47

Спасибо, сейчас буду разбираться!