C++ 尝试将位图复制到WMP渲染器->;颠倒地
我正在写一个视频DMO解码器,并试图返回一个位图到WMP渲染器显示。。。但是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));
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扫描线是颠倒读取的,您需要一次扫描一条扫描线,然后将其反转
我不知道有什么简单的方法可以做到这一点。如果你可以更改位图结构的参数,你可以给它一个负的高度,使线条以自上而下的顺序显示出来