各位大哥,我要在MFC下实现衣服位图沿着一个矩形框的移动,怎么实现?具体情况如下
1:矩形框的颜色可选,线宽很明显,比如10;
2:位图,我是通过ClassWizard加进去的,是一个还比较小的位图
3:位图沿着矩形框移动,要把矩形框的线宽覆盖掉(位图的高度约线宽的3倍)
4:可以用Timer来试一下,只要实现如上移动效果就行,即,变量控制和矩形中的拐弯就先不用考虑了
5:使用加载----更新----来实现??我是基于单文档的,在哪个函数里面加载位图?什么地方更新??用什么函数更新?还请前辈们明 示,不胜感激啊!
1:矩形框的颜色可选,线宽很明显,比如10;
2:位图,我是通过ClassWizard加进去的,是一个还比较小的位图
3:位图沿着矩形框移动,要把矩形框的线宽覆盖掉(位图的高度约线宽的3倍)
4:可以用Timer来试一下,只要实现如上移动效果就行,即,变量控制和矩形中的拐弯就先不用考虑了
5:使用加载----更新----来实现??我是基于单文档的,在哪个函数里面加载位图?什么地方更新??用什么函数更新?还请前辈们明 示,不胜感激啊!
2:矩形框是是用RoundRect画出来的一个“轨迹”,形象一点就是用RoundRect画出一个“轨道”,用一个公交车位图,在上面移动
3:在View总可以用Picture控件吗?
// pBitmap 加载了小位图
// x和y是本次位图绘制位置,具体如何跟踪由自己决定,可以是位图的显示中心,也可以使左上角等等2. 每次绘制新的位图位置时,要擦除上次绘制的图像
可以参考以下文章:Bitmap Basics - A GDI tutorial http://www.codeproject.com/KB/graphics/gditutorial.aspx
CBitmap bmp1;
bmp1=LoadBitmap(IDB_PICTURE)//载入位图.
CDC memDC;
CClientDC dc(this);
memDC.CreateCompatibleDC(NULL);
CBitmap* pOLdBitmap = memDC.SelectObject(&bmp1);
BITMAP bmpInfo;
bmp1.GetBitmap(&bmpInfo)
dc.BitBlt(0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,&memDC,0,0,SRCCOPY);//在这里自己可以调整贴屏的位置.改前面两个0;
memDC.SelectObject(pOldBitmap);
memDC.DeleteDC();
基于单文档的,怎么用CStatic控件?我知道在formView中可以用,在static控件上怎么加载一副位图啊??还请详述
CView::OnInitialUpdate();
m_Static.Create(NULL, WS_CHILD|WS_VISIBLE|SS_BITMAP, CRect(10, 10, 100, 100), this);
m_Static.SetBitmap(LoadBitmap(AfxGetInstanceHandle(), (LPCTSTR)IDB_BITMAP1));
根据实际情况修改上面的参数。