MFC 用MoveTo LineTo画图 如何放大缩小 求高手指导
在网上查了很多资料,都是载入位图,放大缩小的,菜鸟的是读取txt文件数据,用MoveTo和LineTo画图的,不知如何实现放大缩小。看网上很多都是m_pBitmap=ne...
在网上查了很多资料,都是载入位图,放大缩小的,菜鸟的是读取txt文件数据,用MoveTo和LineTo画图的,不知如何实现放大缩小。
看网上很多都是
m_pBitmap = new CBitmap;
m_pBitmap->LoadBitmap(IDB_BITMAP1);
我自己画图的程序是
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.SetMapMode(MM_ANISOTROPIC);
dc.SetWindowExt(abs(b)*2.2,abs(a)*2);//设置坐标范围,经度[-179~189],纬度[-86~86],经纬度坐标变换为直角坐标的值
dc.SetViewportExt(rect.right,-rect.bottom);//正北、正东为正方向
dc.SetWindowOrg(-abs(b)*1.1,abs(a));//设置逻辑坐标原点在中心
// dc.SetViewportOrg(-rect.right/2,rect.bottom/2);//设置屏幕坐标原点在中心
for(i=0;i<sizeof(pDoc->flag)/4-1;i++)
{
dc.MoveTo(int(pDoc->cy[pDoc->flag[i]]),int(pDoc->cx[pDoc->flag[i]]));//画第一个点
for(j=pDoc->flag[i]+1 ;j<pDoc->flag[i+1];j++)
{
dc.LineTo(int(pDoc->cy[j]),int(pDoc->cx[j])); //画其余点
}
菜鸟不知道该如何修改了,还请大家指点迷津
在网上看的最多的是用StretchBlt()函数 展开
看网上很多都是
m_pBitmap = new CBitmap;
m_pBitmap->LoadBitmap(IDB_BITMAP1);
我自己画图的程序是
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.SetMapMode(MM_ANISOTROPIC);
dc.SetWindowExt(abs(b)*2.2,abs(a)*2);//设置坐标范围,经度[-179~189],纬度[-86~86],经纬度坐标变换为直角坐标的值
dc.SetViewportExt(rect.right,-rect.bottom);//正北、正东为正方向
dc.SetWindowOrg(-abs(b)*1.1,abs(a));//设置逻辑坐标原点在中心
// dc.SetViewportOrg(-rect.right/2,rect.bottom/2);//设置屏幕坐标原点在中心
for(i=0;i<sizeof(pDoc->flag)/4-1;i++)
{
dc.MoveTo(int(pDoc->cy[pDoc->flag[i]]),int(pDoc->cx[pDoc->flag[i]]));//画第一个点
for(j=pDoc->flag[i]+1 ;j<pDoc->flag[i+1];j++)
{
dc.LineTo(int(pDoc->cy[j]),int(pDoc->cx[j])); //画其余点
}
菜鸟不知道该如何修改了,还请大家指点迷津
在网上看的最多的是用StretchBlt()函数 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询