Преобразование растрового изображения в вектор беззнакового символа

#c #gdi

#c #gdi

Вопрос:

Как следует из названия, я пытаюсь найти метод преобразования растрового изображения GDI в вектор беззнаковых символов, буду признателен за любую помощь.

Комментарии:

1. Используйте CreateStreamOnHGlobal(), чтобы получить IStream, который вы можете передать методу Save() . Чтобы избежать копирования байтов в вектор, потребуется ваша собственная реализация IStream.

2. Сохранение в файл не является целью, которую он хочет скопировать байты в вектор в памяти.

Ответ №1:

Взгляните на Bitmap::LockBits . После того, как вы заблокировали биты, скопировать их в a должно быть тривиально vector<unsigned char> . А еще лучше, измените размер вектора до требуемого размера и позвольте LockBits копировать непосредственно в него.