Какой самый эффективный способ памяти конвертировать любое изображение в DIB?

В моем приложении я должен конвертировать изображение (изображение может быть в любом формате — PNG, JPEG, BMP и т. Д.) В DIB.

Это то, что я делаю сейчас,

  1. Создать подвижную глобальную память, используя GlobalAlloc (GHND, 0)
  2. Создайте поток в этой глобальной памяти с помощью API CreateStreamOnHGlobal ()
  3. Сохраните данное изображение в поток, используя кодировщик для BITMAP.
  4. Затем я создаю другой буфер и копирую содержимое из глобальной памяти во вновь созданный буфер, пропуская заголовок растрового файла.
    Это делает вновь выделенный буфер данными DIB
  5. Наконец, освободите глобальную память, используя GlobalFree (), и освободите поток.

Что мне здесь неудобно, так это то, что здесь выделяется много памяти для преобразования изображения в DIB. Я хотел бы знать, есть ли какой-либо другой способ добиться этого, используя только минимальный объем памяти и выделение памяти.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]