用MFC作图首先要注意几个坐标系之间的关系
来源:互联网 发布:wifi信号源定位软件 编辑:程序博客网 时间:2024/05/22 00:12
首先想说明的是,对于VC本人刚刚开始学习,是菜鸟一个。前几天关于绘图的问题郁闷了好一阵子,还好现在已得到完全解决。在这个过程中,觉得需要注意的地方我就写出来了,和其他初学者共勉。不对的地方请各位大侠多提建议少拍砖。
用MFC作图首先要注意几个坐标系之间的关系。
MFC的作图函数均采用逻辑坐标,这个坐标系也就是窗口坐标系(和页面坐标系一致)。设备空间中的矩形称为视口,他是基于设备坐标的(像素),视口即为客户区。
对于鼠标响应获得的点,点的坐标是设备坐标,也就是基于当前视口左上角x-距离和y-距离。由于是设备坐标,因此在将该点传给MFC作图函数时,必须转化为逻辑坐标,然后再调用MFC作图函数。在这个过程中,一般需要进行如下几步配置:
1)用pDC->SetMapdMode()配置映射模式;
2)用pDC->SetWindowOrg()配置窗口原点; /*一般配置在(0, 0)点*/
3)用pDC->SetViewPort()设定视口原点;/*该步可选*/
以上3步一般在OnInitialUpdate()中进行。
4)调用OnPrepareDC(&dc);
5)紧接着pDC->DPtoLP(&point)将鼠标获得点的坐标转化为逻辑坐标;
以上两步一般在鼠标事件响应函数中完成。
6)用pDC->SetWindowExt()设定窗口页面的大小;/*可选*/
7)用pDC->SetViewportExt()设定视口的范围; /*可选*/
8)根据穿过来的点(具备逻辑坐标)利用MFC函数作图。
假如需要得到当前视口原点在窗口坐标系中的位置,则能够利用pDC->GetViewportOrg()来获取,从而进行坐标转换。
- 用MFC作图首先要注意几个坐标系之间的关系
- MFC坐标系之间的关系
- mfc几个类之间的关系
- GDI坐标系之间的关系
- MFC的CFileDialog和几个类之间的关系
- GDI坐标系之间的关系(转)
- ABB多机器人坐标系之间的关系
- 数据框坐标系和图层坐标系之间的关系
- 投影坐标系与地理坐标系之间的关系
- 地理坐标系和投影坐标系之间的关系
- 【立体视觉】世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的关系
- MFC中坐标系及其关系
- MFC 还有值得注意的几个情况
- MFC GDI使用实例源码、逻辑坐标系、设备坐标系及需要注意的事项
- MFC中设备坐标系到逻辑坐标系之间的转换函数DPtoLP的用法示例
- 用MATLAB作图像识别所需要注意的细节!
- 理解几个相等判断之间的关系
- 几个秒之间的对应关系
- 噶如何
- AJAX开发框架
- 夏季s生小孩号码
- 认得他打过飞机打个飞机没低功耗
- Service的onServiceConnected没有被调用
- 用MFC作图首先要注意几个坐标系之间的关系
- opencv-霍夫变换 检测直线
- unity3d内用OSC通信
- HDU 1010 Tempter of the Bone(dfs+01剪枝)
- iOS Crash文件分析]-如何使用symbolicatecrash工具
- php 防mysql注入函数 addslashes和mysql_real_escape_string
- 内核态和用户态
- 使ScrollView可以自由滚动
- OCP 1Z0 053 232