12 / 12 / 3
Регистрация: 09.05.2010
Сообщений: 384
1

Существуют ли аналоги CBitmap класса?

30.07.2010, 00:57. Показов 970. Ответов 2
Метки нет (Все метки)

Нужен класс который позволяет иметь доступ к пикселям Bitmap изображения, а также загрузки его из файла. Может можно его скачать откуда-то - из какой нибудь библиотеки?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2010, 00:57
Ответы с готовыми решениями:

Существуют ли аналоги ADO?
Мне в рамках дипломной работы необходимо обосновать выбор технологии соединения приложения с базой...

Существуют ли аналоги функции sscanf на c++?
Доброго времени суток, при использовании sscanf столкнулся с проблемой: стандартная библиотека...

Какие аналоги tooltip существуют?
что можно еще использовать для отображения информации? маленькая форма, большой кусок информации в...

Существуют ли в C++ аналоги делфийских write и read?
Только час назад начал изучать С++ обшарил пол интернета но что то так и не соображу , есть ли тут...

2
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
31.07.2010, 16:20 2
Лучший ответ Сообщение было отмечено AKE как решение

Решение

сначала загрузим BMP в память

C++
1
2
3
4
5
6
7
8
9
HANDLE file=CreateFile("bmp.bmp",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
DWORD f_sz=GetFileSize(file,0);
 
DWORD nobtr;
 
char *buf=(char*)malloc(f_sz);
ReadFile(file,buf,f_sz,&nobtr,0);
 
CloseHandle(file);
потом найдем его структуру

C++
1
2
BITMAPFILEHEADER* bfh=(BITMAPFILEHEADER*)buf;
BITMAPINFO* bi=(BITMAPINFO*)&buf[sizeof(BITMAPFILEHEADER)];
и итоге информация о пикселях будет здесь - buf[bfh->bfOffBits]
где bfh->bfOffBits и есть местонахождение пикселей в файле, эта переменная содержится в самом битмапе

Добавлено через 14 минут
А класс можно создать самому, без каких либо усилий
0
23 / 23 / 4
Регистрация: 05.05.2010
Сообщений: 82
02.08.2010, 16:47 3
CFile - очень хороший класс. Он-то уж точно дает доступ ко всем пикселям изображения.

C++
1
2
3
4
5
6
7
8
9
CFile fl;
longlong sz;
UCHAR *data;
 
fl.Open(...);
sz = fl.GetLength();
data = new UCHAR [sz];
fl.Read(data, sz);
fl.Close();
Вот и всё. Вот у тебя и доступ ко всем пикселям. А чтобы разобрать, что где находится, читай: http://ru.wikipedia.org/wiki/BMP
Только учти, что в BMP изображение хранится вверх ногами.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2010, 16:47
Помогаю со студенческими работами здесь

Какие существуют аналоги МК Atmel (Atmega8)?
Интерсую аналоги микроконтролеров фирмы атмел атечественногоь производства или китай. Подскажите...

Существуют ли на C# аналоги классов LookupOp и ConvolveOp из java
Здравствуйте. Существуют ли на C# аналоги классов LookupOp и ConvolveOp из java?..если нет, то...

Существуют ли аналоги webBrowser, например, на движке Мозиллы или Оперы
Существует ли webBrowser который использует движок IE, аналог любого другого движка к примеру...

Существуют ли англоязычные аналоги Живого журнала (livejournal.com) или это чисто российское явление?
Чтобы был примерно такой же разнообразный контент - от истории и политики до тестирования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru