Member 7909353 Ответов: 3

как преобразовать bmp-изображение в массив символов


Я хочу знать преобразование из bmp в char *arr [] с помощью c++

bitmap_type pBmp(new ClSimpleBitmap);
            std::auto_ptr<std::string> pFileName(LoadFile(TRUE
                                                         ,_T("BMP files (*.bmp)|*.bmp|PNG files (*.png)|*.png|WSQ files (*.wsq)|*.wsq|JPEG2000 files (*.jp2)|*.jp2|"
                                                         )));



pBmp - & gt;Load(pFileName-> c_str())
BITMAPINFOHEADER* header=pBmp- & gt;BI();
Теперь у меня есть вся информация об образе.
Теперь у меня есть изображение в pBmp и Заголовок изображения(в заголовке). А теперь я хочу преобразовать его в char *arr[].

3 Ответов

Рейтинг:
26

Espen Harlinn

Взгляните на Использование LockBits в GDI+[^]

С уважением
Эспен Харлинн


Prasad_Kulkarni

Хорошая ссылка +5

Espen Harlinn

Спасибо тебе, Прасад : - D

Sergey Alexandrovich Kryukov

Хорошая рекомендация, 5.
--СА

Espen Harlinn

Спасибо, Сергей : - D

Рейтинг:
0

Amarnath S

Еще одна ссылка

http://www.bobpowell.net/lockingbits.htm[^]


Рейтинг:
0

KarstenK

Доступ к char* или лучше к байт данные вашего растрового изображения - это только первая часть. Вы должны правильно интерпретировать BITMAPINFOHEADER, чтобы декодировать данные для дальнейшей обработки. Пожалуйста, прочтите Документация Microsoft чтобы понять структуру данных и их информацию. Для извлечения растровых данных используется Метода getdibits.

Прочитайте Основы Растрового Изображения статья, чтобы узнать необходимые идеи. Мне тоже нравится CXImage но это больше для продвинутых манипуляций.

Совет: поиграйте с некоторыми простыми примерами фотографий, пока все не будет работать нормально


CHill60

Почти 5-летний вопрос с принятым решением ... стоило ли его воскрешать?

enhzflep

Ну, учитывая тот факт, что вопросы и ответы существуют для того, чтобы служить целям не только спрашивающего, но и других людей с той же проблемой, время с момента постановки вопроса не имеет значения, имхо.
Гораздо более важным критерием, по которому можно судить о полезности, я думаю, является качество ответа. На мой взгляд, этот ответ превосходит все остальные (я не следил за внешними ссылками).

Таким образом, ответ на ваш вопрос-это громкое "ДА". К несчастью, какая-то несчастная душа сочла нужным ударить по нему молотком с пониженным голосованием.

Мне любопытно - о чем вы думаете?

CHill60

Обычно я придерживаюсь мнения, что внешняя информация и/или статьи на эту тему будут появляться в(n неориентированном) поиске Google до решения старой публикации. Я предполагаю, что сообщение появилось снова, потому что "решение 3" было неуместным ответом (спам, вопрос или комментарий).
Я согласен, что это решение здесь самое лучшее - это меня не удивляет из Карстенка :-)
Что касается Даун-голосования - я думаю, что есть кто-то, кто просто ходит по форумам даунвотинга ради этого. Иногда я опускаю голос, но предпочитаю комментировать, почему - как еще мы учимся?