关于GDI绘图的新手说明
来源:互联网 发布:西门子选型软件 编辑:程序博客网 时间:2024/06/06 05:19
许多Windows编程书籍都谈到了关于这方面的内容,然而有些地方属于误导,有些则重点没有突出,使读者自己产生误解.我也在这上面吃过苦头.下面是我的个人简单总结:
1.窗口和视口
窗口:虚拟存在的一个屏幕,之所以引入这个概念,是Windows在绘图时,首先根据映射模式坐标系将图形绘制到虚拟的窗口中,然后将窗口中的内容映射到视口中.
视口:在屏幕上看到的视图客户区域.
2.设备坐标系和逻辑坐标系
设备坐标系:与视口对应,单位像素,x轴向右,y轴向下.(0,0)点始终显示在平面的左上角.
逻辑坐标系:与窗口对应.根据映射模式的不同,单位和坐标轴的方向都相应的不同.
默认的映射模式是(MM_TEXT),此时逻辑坐标系单位像素,同设备坐标系各方面都一致.
3.窗口原点和视口原点.
原点的坐标不一定是(0,0),这是最容易令人费解和误解的地方.一定不要以为原点坐标一定是(0,0).窗口原点和
视口原点两者映射对应.
默认情况下,两者的原点都在左上角.
4.SetViewportOrg()和SetWindowOrg()函数
这两个函数尽量不要一起用,除非你思维敏锐,否则会很混乱,我个人认为使用一个函数就能达到目的,我倾向于只使用SetViewportOrg().
SetViewportOrg(x,y),参数是设备坐标,将视口原点移至设备坐标系的(x,y).即将逻辑点(0,0)映射成设备点(x,y).
SetWindowOrg(x,y)参数是逻辑坐标,作用与上相反.
5.什么时候使用逻辑坐标和设备坐标
所有绘图函数都使用逻辑坐标.
通过鼠标获得的坐标,GetClientRect()等函数是设备坐标.
我也是初学,不对之处,请多指教~~
- 关于GDI绘图的新手说明
- 关于 GDI+ 绘图的辅助类
- 关于C#GDI绘图
- 关于使用GDI+使用位图的说明
- C#关于GDI+绘图(一)
- C#关于GDI+绘图(二)
- C#关于GDI+绘图(三)
- C#关于GDI+绘图(四)
- C#关于GDI+绘图(五)
- GDI 绘图的几个技巧
- c# GDI+ 的使用绘图
- GDI绘图
- gdi 绘图
- GDI绘图
- 转---关于CGContext与2D绘图的说明
- 关于CGContext与2D绘图的说明
- 怎样提高GDI+的绘图效率
- 有关c#GDI绘图的一些方法
- virtools 学习笔记一:virtools 背景
- 接口与类集综合应用
- cmd命令集锦
- c++中的四个转换运算符(,static_cast,const_cast,dynamic_cast,reinterpret_cast)
- 入住csdn...
- 关于GDI绘图的新手说明
- 发展前景
- import static和import的区别
- php应用
- Linux内核配置文档
- 还原数据库.bak文件
- c
- 全球最大的搜索引擎 Google 推出的站长赚钱计划,看了就知道!
- 这里的空气好新鲜啊!资源也很丰富!