Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Графические файлы как массивы пикселей


Автор: Rassules 19.8.2006, 16:33
Товарищи! Помогите чайнику прочитать графический файл как массив пикселей.

Автор: pablo 19.8.2006, 17:03
Какая среда разработки ? каки библиотеки используеш ?  

Автор: nikitao 20.8.2006, 02:05
Rassules, все зависет от формата файла. BMP, jpeg , gif и т д. smile 

Автор: bsa 20.8.2006, 11:54
http://openil.sourceforge.net/ - очень странное API. Непривычное для тех, кто не работал с OpenGL. Но если разобраться, то понимаешь, что лучше не придумать.
Пример загрузки картинки:
Код

...
#include <IL/il.h>
...
        ILuint img;
        ilEnable( IL_FORMAT_SET );
        ilSetInteger( IL_FORMAT_MODE, IL_RGBA );//все картинки будут размещаться в памяти по 4 байт на пиксел (в порядке R,G,B,A).
        ilEnable(IL_ORIGIN_SET);
        ilOriginFunc(IL_ORIGIN_UPPER_LEFT); //все загруженные картинки будут в памяти размещаться "сверху вниз" (а не наоборот, как большинство BMP)
        ilGenImages(1, &img);      //создаем в памяти новую картинку (кажется, по умолчанию 4x4)
        ilBindImage(img);      //работаем с картинкой img
        ilLoadImage("file name"); //загружаем данные из файла в текущую картинку

        ILvoid * data = ilGetData();      //указатель на данные картинки (на массив пикселей)
        const ILuint width = ilGetInteger(IL_IMAGE_WIDTH);       //ширина в пикселях
        const ILuint height = ilGetInteger(IL_IMAGE_HEIGHT);     //высота в пикселях
...
        ilDeleteImages(1, &img);     //удаляем картинку из памяти
...


Этой библиотекой не пользовался (так как под AMD64 Linux не собирается):
http://freeimage.sourceforge.net/

Автор: Rassules 21.8.2006, 13:46
Всем спасибо за поддержку, но увы мне это уже не пригодиться. Из дома выгнали... сорри за оффтоп

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)