首先提示:要想真正理解他们之间的区别与联系,只能通过自己亲自编程体会!!
另外强烈建议大家看看孙鑫视频教程第11讲,很好很强大。
在 Windows的作图函数中,涉及逻辑坐标到设备坐标的转换。
这里提到的窗口(window)、视口(viewport)是对应的概念。
视口是与设备相关的一个矩形区域,坐标单位是与设备相关的。
窗口的坐标是逻辑坐标,与设备无关。
窗口坐标的原点与视口坐标的原点始终对应于同一点。
对于同一个图形,用窗口坐标系统表达的该区域的长和宽与视口的坐标系统表达的长和宽是不同的。
二者就定义了这两个坐标系统的比例关系。
程序作图时,使用的坐标总是是窗口坐标。而实际的显示或输出设备却各有自己的坐标。例如,有的打印机设备水平和垂直分辨率不同,其象素实际上是长方形。程序编写画一个圆,若不经任何坐标转换,在打印机上输出的就是个椭圆。下面程序示范了如何将窗口逻辑坐标的x,y向象素宽度均映射为输出设备中的 1/64 英寸。
[code]
SetMapMode(hDC, MM_ISOTROPIC);
SetWindowExtEx(hDC, 64, 64, NULL);
SetViewportExtEx(hDC, GetDeviceCaps(hDC, LOGPIXELSX),
GetDeviceCaps(hDC, LOGPIXELSY), NULL);
[/code]
http://baike.baidu.com/view/1522985.htm
http://blog.csdn.net/shanzhizi