## 1、坐标转换相关api
| API函数 | 说明 |
| --- | --- |
| int GetMapMode(hdc); | GetMapMode获取当前的映射模式 |
| int SetMapMode(hdc,fnMapMode); | SetMapMode函数用于设置指定设备环境的映射模式。定义了页面空间单位到设备空间单位的转换,还定义了 x 轴和 y 轴的方向 |
| BOOL SetViewportOrgEx(hdc,X,Y,lpPoint); | SetViewportOrgEx 函数指定映射到窗口原点 (0, 0) 的设备原点的坐标。(一般用这个) |
|BOOL SetWindowOrgEx(hdc,X,Y,lpPoint); | SetWindowOrgEx 函数指定映射到设备原点 (0, 0) 的窗口原点的坐标。 |
| BOOL SetWindowExtEx(hdc,x,y,lpsz); | SetWindowExtEx功能通过使用指定的值设置窗口设备上下文的水平和垂直范围。 **xy看成是宽度与高度,先设SetWindowExtEx,后设SetViewportExtEx** |
| BOOL SetViewportExtEx(hdc,x,y,lpsz); | SetViewportExtEx功能通过使用指定的值设置为视口设备上下文的水平和垂直范围 。 **xy看成是宽度与高度**|
| BOOL DPtoLP(hdc,lpPoints,nCount); | DPtoLP 将设备坐标转换为逻辑坐标。 |
|BOOL LPtoDP(hdc,lpPoints,nCount); | LPtoDP 将逻辑坐标转换为设备坐标。**LPtoDP 函数多次调用会失真,少用** |
| int GetMapMode(hdc); | GetMapMode获取当前的映射模式 |
## 2、一些词
```
逻辑单位(logical unit) 单位可以是mm、inch、像素px
设备单位(device unit) 如显示器,单位px
窗口:理解成虚拟的平面的直角坐标系,映射就是直角坐标系的某个矩形范围的图形映射到视口(也是一个矩形)
视口:理解成显示器上显示的某个程序的客户区
映射:就是窗口(直角坐标系)某个矩形通过缩放放到视口(也是一个矩形)中。
```
![](https://img.kancloud.cn/b1/ae/b1aedc89a4529a3a86b7eb68992a457b_423x310.png)
## 3、映射模式fnMapMode
用的多的就是:MM_LOMETRIC、MM_HIMETRIC、MM\_ISOTROPIC和MM\_ANISOTROPIC
| 映射模式 | 说明 |
| --- | --- |
| MM\_TEXT(默认) | 每个逻辑单位映射为 1 像素,x 轴向右,y 轴向下 |
| MM\_LOMETRIC | 每个逻辑单位映射为 0.1 毫米,x 轴向右,y 轴向上 |
| MM\_HIMETRIC | 每个逻辑单位映射为 0.01 毫米,x 轴向右,y 轴向上 |
| MM\_LOENGLISH | 每个逻辑单位映射为 0.01 英寸,x 轴向右,y 轴向上 |
| MM\_HIENGLISH | 每个逻辑单位映射为 0.001 英寸,x 轴向右,y 轴向上 |
| MM\_TWIPS | 每个逻辑单位映射为 1/20 点(1/1440 英寸),x 轴向右,y 轴向上 |
| MM\_ISOTROPIC | 1\. 逻辑单位被映射为任意缩放刻度 2\. 每个 x 轴的逻辑单位与 y 轴相等 3\. 使用SetWindowExtEx和SetViewportExtEx函数指定相应的单位和方向 4\. 图形设备接口(GDI)将做出必要的调整以确保 x 轴和 y 轴的逻辑单位保持相同尺寸(当窗口被设置时,视口将调整保持“各向同性”) |
| MM\_ANISOTROPIC | 1\. 逻辑单位被映射为任意缩放刻度 2\. 使用SetWindowExtEx和SetViewportExtEx函数指定相应的单位,方向和缩放比例 |
- CChart
- CChart库
- custom窗口
- 标题、坐标轴名称、图例
- 网格、背景
- 常用参数
- 曲线
- 方波图
- 工具提示
- 示波器
- mdf
- 读取IDBlock
- 数据类型
- HDBlock
- 类小知识
- 小知识点
- io读取二进制文件
- string.load()一次读取二进制文件
- 智能提示
- 杂项
- 读取txt文件
- 读取txt文件02
- 计时器
- 隔一秒换背景颜色
- 关于time的库
- gdi
- 绘点
- 绘线
- 绘线 说明1
- 绘线 说明2
- PolyLine 一次多点绘线
- 绘曲线
- 绘线 注意点
- MoveToEx
- 画笔
- 预定义对象
- 使用预定义pen
- 自定义画笔
- 其它
- 画刷
- 自定义创建画刷
- 形状
- 矩形
- 圆角矩形
- 多边形 扇图
- 扇形 和 弦图
- 椭圆
- 填充矩形
- Arc
- api
- BeginPaint()
- EndPaint()
- TextOutW()
- SelectObject()
- gdi函数
- apiList
- 坐标转换
- 坐标转换api
- 小提示
- 直接调用api函数
- gdip
- 入门-画图形
- 初始化+反初始化
- 创建graphics
- 创建画笔
- gdip颜色
- 画笔样式
- 画直线
- 画形函数
- 文字输出