Преобразование BITMAP в PNG с использованием интерфейса IImage в Windows Mobile - PullRequest
0 голосов
/ 18 мая 2009

У меня есть дескриптор структуры BITMAP (HBITMAP) в приложении для Windows Mobile - я хотел бы сохранить растровое изображение в виде файла PNG, используя интерфейс IImage , если это возможно. (В этой ситуации нет файла BMP, BITMAP находится только в памяти).

Похоже, что я мог бы использовать IImagingFactory :: CreateImageEncoderToFile метод IImagingFactory для сохранения файла, но я думаю, что сначала мне нужно преобразовать BITMAP в формат "IImage".

Есть идеи, как это сделать с нативным кодом?

1 Ответ

1 голос
/ 19 мая 2009

Используйте CreateImageFromStream для чтения ваших данных BITMAP, что дает вам IImage.

Edit:

Я провел немного больше исследований по этому вопросу. Есть несколько путей, но я думаю, что проще всего:

  1. создайте DIBSECTION и добавьте к нему свой растровый рисунок.
  2. Создание экземпляра BitmapData , указывающего на DIBSECTION для данных изображения.
  3. Вызов CreateBitmapFromBuffer для создания IBitmapImage интерфейса
  4. Протолкните IBitmapImage (который является IImage) через ваш кодировщик.
...