Помощь - Поиск - Пользователи - Календарь
Полная версия: вывод графического файла на С
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Tan
Доброе время суток, подскажите пожалуйста функцию для вывода графического файла (допустим .bmp) на экран.
volvo
Программа читает 2-х, 16 и 256-цветные файлы:
Нажмите для просмотра прикрепленного файла

(обрати внимание на переменную VGA256, по умолчанию она = 1, если файл не 256-цветный, надо сбросить в 0... Вообще-то это следовало бы делать автоматически, но... smile.gif )
Tan
... в жизни не всё так просто smile.gif Спасибо за программу, буду разбираться!
Tan
Добрый день, у меня появилось дополнение к вопросу. А существует ли в стандартных библиотеках С функция вывода на экран изображения из файла (допустим тот же бмп 256 цветов) ? (хочется облегчить себе жизнь). Что - то слышал про windows.h, но не нашёл описание этой библотеки.
volvo
Tan, в стандартном С этого нет, есть в WinAPI, но ты ж ничего не сказал про ОС, под которой это все должно будет работать. И о компиляторе, которым пользуешься - ты тоже умолчал.

Описание функций из windows.h - в MSDN. Конкретно функции работы с битмапами - здесь: Bitmap Functions
Tan
Компилятор ВСPP 3.1, os - winXP, в msdn есть loadimage, но я не особо въехал в аргументы этой функции. Допустим, что можно работать с winapi.
volvo
Использовать как-то вот так:
HBITMAP image;

image = (HBITMAP)LoadImage(
NULL, "image.bmp", IMAGE_BITMAP,
0, 0,
LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT
);
Tan
А в какой части программы это писать ? Вы не могли бы привести пример программы, использующей эту функцию для вывода изображения. Я просто до этого с winapi не работал.
volvo
Вот рабочий проект (вместе с EXE-шником, если не боишься smile.gif), отрисовывающий BMP из файла:

Нажмите для просмотра прикрепленного файла

(тестировалось, правда, на GCC)
Tan
Спасибо, сейчас буду разбираться!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.