关于逻辑坐标系和物理坐标系中使用DPtoLP函数的问题

ucasliming 2013-11-14 12:36:52
最近在做图形学的编程作业时遇到这样一个奇怪的问题,代码如下:
	pDC=new CPaintDC(this);
CRect cRect;
pDC->SetMapMode(MM_ISOTROPIC); //设定各同向性坐标系
AfxGetMainWnd()->GetClientRect(cRect);
pDC->SetWindowExt(1800,1800);//设置窗口大小
pDC->SetWindowOrg(0, 0);
pDC->SetViewportExt(cRect.Width(),-cRect.Height());
pDC->SetViewportOrg(cRect.Width()/2,cRect.Height()/2); //设置视口原点为中心,两原点之间建立映射,扩展之间成比例

CDC * dc = GetWindowDC();
OnPrepareDC(dc);
dc->DPtoLP(&point);
//ScreenToClient(&point);
str1.Format(L"%d<->%d",point.x,point.y);
,后来发现point中的坐标仍然还是物理坐标系中的坐标,即原点是从左上角计算的,而我想要的是逻辑坐标,请问各位大侠,这段代码到底出了什么问题呢,在线等,求救啊!!!
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ucasliming 2013-11-18
  • 打赏
  • 举报
回复
呵呵,已经解决了,在使用DPtoLP之前需要再重新定义一下逻辑坐标系和设备坐标系之间的映射
ucasliming 2013-11-14
  • 打赏
  • 举报
回复
给自己顶一个,在线等,高手请现身!!
ucasliming 2013-11-14
  • 打赏
  • 举报
回复
没人遇到过这种问题吗,无语了啊。。。

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧