MFC GDI画图 跪求大神,该怎么解决
MFC GDI画图 跪求大神
SDI:
目标:在某视图中,贴一张背景图,然后在其上画坐标轴;
要求:图片、坐标以及曲线能够自动缩放
错误代码:
CDC dcMem;
GetClientRect(&rect);
CBitmap bmp; //内存中承载临时图象的位图
bmp.LoadBitmap(IDB_CURVE);
dcMem.CreateCompatibleDC(pDC);
dcMem.SetBkMode(TRANSPARENT); //透明模式,文字或图像输出以透明背景输出,不遮盖画布
CBitmap *pOldBit=dcMem.SelectObject(&bmp);
bmp.DeleteObject();
CPen whitedotpen(PS_DOT,1,COLOR_WHITE); //白色虚线画笔
CPen* poldpen = dcMem.SelectObject(&whitedotpen);
dcMem.MoveTo(0,0);
dcMem.LineTo(500,500);
pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMem,0,0,1270,640,SRCCOPY);
dcMem.DeleteDC(); //删除DC
错误效果:
1.全屏时
2.半屏时
3.再缩小时
就一段正确代码 实现所有信息能够自动缩放
------解决方案--------------------
SDI:
目标:在某视图中,贴一张背景图,然后在其上画坐标轴;
要求:图片、坐标以及曲线能够自动缩放
错误代码:
CDC dcMem;
GetClientRect(&rect);
CBitmap bmp; //内存中承载临时图象的位图
bmp.LoadBitmap(IDB_CURVE);
dcMem.CreateCompatibleDC(pDC);
dcMem.SetBkMode(TRANSPARENT); //透明模式,文字或图像输出以透明背景输出,不遮盖画布
CBitmap *pOldBit=dcMem.SelectObject(&bmp);
bmp.DeleteObject();
CPen whitedotpen(PS_DOT,1,COLOR_WHITE); //白色虚线画笔
CPen* poldpen = dcMem.SelectObject(&whitedotpen);
dcMem.MoveTo(0,0);
dcMem.LineTo(500,500);
pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMem,0,0,1270,640,SRCCOPY);
dcMem.DeleteDC(); //删除DC
错误效果:
1.全屏时
2.半屏时
3.再缩小时
就一段正确代码 实现所有信息能够自动缩放
------解决方案--------------------