2

私はビデオ DMO デコーダーを作成していて、ビットマップを WMP レンダラーに返して表示しようとしていますが、WMP はそれを逆さまに表示します!

これはコードです:

HBITMAP*  hBmp = new HBITMAP();

int result;

m_pScrRenderer->CreateFrame(hBmp, &result);  ///This returns the HBITMAP handle.

BITMAP bmStruct;

memset(&bmStruct, 0, sizeof(BITMAP));

GetObject(*hBmp, sizeof(BITMAP), &bmStruct);  
int size = bmStruct.bmWidthBytes * bmStruct.bmHeight;
memcpy(pbOutData, bmStruct.bmBits, size); //PBoutData is WMP's renderer buffer.

これにより、上下逆さまの画像が生成されます。このコードで何を変更する必要がありますか?

ありがとう!

ロイ。

4

2 に答える 2

1

ビットマップ構造体のパラメーターを変更できる場合は、高さを負にして線を上から下に並べることができます。

于 2010-04-27T15:56:58.547 に答える
1

HBITMAP スキャンラインは上下逆に読み取られるため、一度にスキャンラインごとにデータを調べて逆にする必要があります。

これを行う簡単な方法を知りません。

于 2010-04-27T15:50:05.533 に答える