C++ 尝试将位图复制到WMP渲染器->;颠倒地

C++ 尝试将位图复制到WMP渲染器->;颠倒地,c++,bitmap,wmp,dmo,C++,Bitmap,Wmp,Dmo,我正在写一个视频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));

我正在写一个视频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.
这会产生一个颠倒的图像。我应该在代码中更改什么

谢谢大家!


Roey.

HBITMAP扫描线是颠倒读取的,您需要一次扫描一条扫描线,然后将其反转


我不知道有什么简单的方法可以做到这一点。

如果你可以更改位图结构的参数,你可以给它一个负的高度,使线条以自上而下的顺序显示出来