int n= bm.SetBitmapBits(176*144*4,&buf[54]);我在网上搜了很多,,都没看明白,主要是其参数,第二个参数就是指向字节类型数组的指针。但我不知道这个数组包不包含bmp图的两个结构,如果不包含的话,我就应该取buf[54],我的buf是带了两个结构的头文件信息的,还有就是第一个参数要不要乘4,我的buf中每个点都是4个char表示的,谢谢
调试欢乐多
LONG SetBitmapBits(
HBITMAP hbmp,
DWORD cBytes,
CONST VOID *lpBits
);
Parameters
hbmp
[in] Handle to the bitmap to be set.
This must be a compatible bitmap. cBytes
[in] Specifies the number of bytes pointed to by the lpBits parameter.
lpBits
[in] Pointer to an array of bytes that contain color data for the specified bitmap.
int n= bm.SetBitmapBits(176*144*4,&buf[54]);
可以改为
int n= bm.SetBitmapBits(176*144*4,buf);
你在看看,你的程序有多少行
m_sPicture->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
NET_DVR_Init();
NET_DVR_SetConnectTime(5000,1);
long lUserID,m_iPlayhandle;
NET_DVR_DEVICEINFO DeviceInfo;
lUserID = NET_DVR_Login("221.10.249.139", 8000, "****", "****", &DeviceInfo); NET_DVR_CLIENTINFO playstru;
playstru.lChannel=1;
playstru.lLinkMode =0x80000000;
playstru.sMultiCastIP="";
//playstru.hPlayWnd =0; m_iPlayhandle = NET_DVR_RealPlay(lUserID, &playstru);
Sleep(1000); long hd;
hd = NET_DVR_GetRealPlayerIndex(m_iPlayhandle);
unsigned long realSize;
PlayM4_GetBMP(hd,&buf[0],1024*1024,&realSize); CClientDC* pDC=new CClientDC(this);
SetStretchBltMode(pDC->GetSafeHdc(), COLORONCOLOR);
BITMAPINFO* bmInfo=new BITMAPINFO();
CBitmap bm;
int n= bm.SetBitmapBits(realSize-54,&buf[54]);
CStatic * ptc=(CStatic *)GetDlgItem(IDC_STATIC);
ptc->ModifyStyle(0xF,SS_BITMAP);
HBITMAP hBmp=(HBITMAP)bm;
ptc->SetBitmap(hBmp);
NET_DVR_SetConnectTime(5000,1);
long lUserID,m_iPlayhandle;
NET_DVR_DEVICEINFO DeviceInfo;
lUserID = NET_DVR_Login("221.10.249.139", 8000, "admin", "12345", &DeviceInfo); NET_DVR_CLIENTINFO playstru;
playstru.lChannel=1;
playstru.lLinkMode =0x80000000;
playstru.sMultiCastIP=""; m_iPlayhandle = NET_DVR_RealPlay(lUserID, &playstru);
Sleep(1000);
long hd;
hd = NET_DVR_GetRealPlayerIndex(m_iPlayhandle);
unsigned long realSize;
PlayM4_GetBMP(hd,&buf[0],1024*1024,&realSize); BITMAPINFO* bmInfo=new BITMAPINFO();
CBitmap bm;
int n= bm.SetBitmapBits(realSize-54,&buf[54]);
CStatic * ptc=(CStatic *)GetDlgItem(IDC_STATIC);
ptc->ModifyStyle(0xF,SS_BITMAP);
HBITMAP hBmp=(HBITMAP)bm;
ptc->SetBitmap(hBmp);