Вопрос № 36924: Здравствуйте!
Известная функция LoadImage для загрузки изображения из *.bmp файла, а как можно загрузить изображение из файлов других форматов *.gif, *.jpeg?
..
Вопрос № 36.924
Здравствуйте!
Известная функция LoadImage для загрузки изображения из *.bmp файла, а как можно загрузить изображение из файлов других форматов *.gif, *.jpeg?
Отвечает: Morgion
Здравствуйте, Данилевич Игорь Владимирович!
Сходи сюда http://sources.ru/cpp/cpp_cpicture.shtml - так подойдёт?
Если хочешь углубиться, то через D3DX можно попробовать. В OpenGL есть OpenIL- так вроде с жипегом тоже
работать можно.
Ещё можешь поискать Intel JPEG Library.
Ответ отправил: Morgion (статус: 10-ый класс)
Отправлен: 07.03.2006, 01:03 Оценка за ответ: 5
Отвечает: estiGi
Здравствуйте, Данилевич Игорь Владимирович!
Посмотри библиотечку GdiPlus или ее обертку - класс CImage
Ответ отправил: estiGi (статус: Студент)
Отправлен: 07.03.2006, 01:14 Оценка за ответ: 5
Отвечает: Ерёмин Андрей
Здравствуйте, Данилевич Игорь Владимирович!
Средствами WinAPI это делается достаточно сложно (а то и вообще не делается). Попробуйте найти библиотеки для конкретного языка программирования. А вот ещё такая функция есть: LoadIcon() - может быть окажется полезной. LoadImage(), согласно документации, может загружать иконку, курсор, анимированный курсор или bitmap.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 07.03.2006, 07:15 Оценка за ответ: 5 Комментарий оценки: Нашел решение с помощью библиотеки GDIPLUS.DLL, входящей в поставку Windows: функций GDIPCreateBitmapFromStream и GDIPCreateHBitmapFromBitmap.
Отвечает: RedDevil
Здравствуйте, Данилевич Игорь Владимирович!
Использовать библиотеки. Например GFL SDK, FreeImage, CxImage из бесплатных, или LeadTools из платных.
Ответ отправил: RedDevil (статус: 7-ой класс)
Отправлен: 07.03.2006, 08:23 Оценка за ответ: 5
Отвечает: Jadd
Здравствуйте, Данилевич Игорь Владимирович!
Средствами WinAPI можно сделать, но придется почитать про форматы. Тут ведь все форматы, которые Вы описали - битовая матрица. Стало быть ее можно отобразить в обычный DIB. Другой вопрос, что прочитать эту матрицу из файла - геморр, т.к. нужно знать описание формата (а в случае с jpeg еще и методики компрессии и декомпрессии). С bmp все намного проще, т.к. этот формат поддерживался изначально самой виндой, отсюда и наличие BMPINFOHEADER и иже с ним. Есть бесплатные либы, которые открывают большинство форматов
и эксперты, опередившие меня, уже написали какие. Успехов.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 07.03.2006, 10:35 Оценка за ответ: 5 Комментарий оценки: Нашел решение с помощью библиотеки GDIPLUS.DLL, входящей в поставку Windows: функции GDIPCreateBitmapFromStream и GDIPCreateHBitmapFromBitmap.