0

Windows Mobile アプリケーションの BITMAP 構造 (HBITMAP) へのハンドルを取得しました。可能であれば IImageインターフェイスを使用して、ビットマップを PNG ファイルとして保存したいと考えています。(この状況では BMP ファイルはありません。BITMAP はメモリ内にのみ存在します)。

IImagingFactory のIImagingFactory::CreateImageEncoderToFileメソッドを使用してファイルを保存できるようですが、最初に BITMAP を「IImage」形式に変換する必要があると思います。

ネイティブコードでこれを行う方法についてのアイデアはありますか?

4

1 に答える 1

1

CreateImageFromStreamを使用してBITMAPデータを読み込み、IImageを取得します。

編集:

私はこれについてもう少し調査をしました。いくつかの方法がありますが、最も簡単な方法は次のとおりです。

  1. DIBSECTIONを作成し、ビットマップをそれにブリットします。
  2. 画像データのDIBSECTIONを指すBitmapDataインスタンスを作成します。
  3. CreateBitmapFromBufferを呼び出して、 IBitmapImageインターフェイスを生成します
  4. IBitmapImage(IImage)をエンコーダーにプッシュします。
于 2009-05-19T03:39:02.770 に答える