Добрый день!
У меня возникла проблема, суть такова:
Имеется картинка(GIF, JPEG, PNG) которая лежит в массиве.
Хотелось бы видеть ее как двумерный массив пикселей.
Мануалы по GDI и GDI+ читал, но ни чего кроме как записать содержимое в файл и от туда ее открыть в GDI+ Bitmap не вышло.
Подскажите что и как сделать или куда капать.
25.10.07 14:01: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
J>У меня возникла проблема, суть такова:
J>Имеется картинка(GIF, JPEG, PNG) которая лежит в массиве.
J>Хотелось бы видеть ее как двумерный массив пикселей.
Например, использовать WTL или ATL. Класс CImage...
С помощью
inline void* CImage::GetBits() throw()
получить внутреннее представление.
"Не морочьте мне голову. Полыхаев" ©
Здравствуйте, chocho, Вы писали:
J>>У меня возникла проблема, суть такова:
J>>Имеется картинка(GIF, JPEG, PNG) которая лежит в массиве.
J>>Хотелось бы видеть ее как двумерный массив пикселей.
C>Например, использовать WTL или ATL. Класс CImage...
C>С помощью
C>C>inline void* CImage::GetBits() throw()
C>
C>получить внутреннее представление.
Хорошо так я получу доступ к битам. А как мне создать объект CImage, ведь от тоже умеет подгружать картинку из файла или ресурса, а у меня массив. Не записывать же ее на диск чтоб потом считать. Есть ли способ ее из массива создать?
J>>>Имеется картинка(GIF, JPEG, PNG) которая лежит в массиве.
J>>>Хотелось бы видеть ее как двумерный массив пикселей.
C>>Например, использовать WTL или ATL. Класс CImage...
C>>С помощью
C>>C>>inline void* CImage::GetBits() throw()
C>>
C>>получить внутреннее представление.
J>Хорошо так я получу доступ к битам. А как мне создать объект CImage, ведь от тоже умеет подгружать картинку из файла или ресурса, а у меня массив. Не записывать же ее на диск чтоб потом считать. Есть ли способ ее из массива создать?
1. Если нужно работать именно с различными GIF, JPEG, PNG, с разной глубиной цвета и т.д. и т.п., то разумно изначально использовать CImage как обёртку.
2. Если этот волшебный массив снисходит на тебя откуда-то, то в чём проблема его обойти двумя форами? Ты же знаешь width и height... CImage-то тоже тебе может вернуть только указатель на сырые данные (void*).