最近在做一个远程监控程序,被控方截图发送到监控方然后显示,但是在显示时,发现图片左边一部分被切割到了右边,这是怎么产生的?
已经将截图文件和接收的文件对比过了,图片文件没出错,感觉应该错在显示上,我是用的BitBlt函数显示的,不知道出了什么问题。
显示功能的代码如下
BOOL CMFCApplication4Dlg::onEraseBkgnd(CDC* pDC)
{
CDC DCmem;
DCmem.CreateCompatibleDC(pDC);
CBitmap bitmap;
bitmap.m_hObject = GetBitmapFromData();
CRect rect;
GetClientRect(&rect);
CBitmap *pOldBit = DCmem.SelectObject(&bitmap);
BITMAP bmpinfo;
bitmap.GetBitmap(&bmpinfo);
pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &DCmem, 0, 0, SRCCOPY);
/*pDC->SetStretchBltMode(STRETCH_HALFTONE);
pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &DCmem, 0, 0, bmpinfo.bmWidth, bmpinfo.bmHeight,SRCCOPY);*/
DCmem.DeleteDC();
bitmap.DeleteObject();
//ReleaseDC(&DCmem);
return TRUE;
}