Innovate the future

Find the passion of life...
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Delphi编程中设备坐标系和逻辑坐标系的转换

Posted on 2004-04-28 13:36  BPM  阅读(3536)  评论(4编辑  收藏  举报
    很多熟悉Delphi IDE编程的人对设备坐标系和逻辑坐标系的概念可能不是很清晰,对他们的作用更为模糊。熟悉Windows SDK的程序员对这两种坐标系应该比较清楚。
    设备坐标系是指Win32运行于的设备。它以像素为单位进行度量,定位方向是水平轴从左到右、垂直轴从上到下增加。例如,如果在1024*768的显示器上运行Windows,设备左上角坐标为(0,0),而右下角坐标为(1023,767)。屏幕坐标系是指显示设备,因此它是以像素为度量单位的坐标系,在1024*768的显示器上,Screen.Width和Screen.Height分别为1024和768像素。
    我们通过Canvas对象绘制图形的时候,通过GetDC获得屏幕的设备环境,使用的是逻辑坐标系。而实际上在后台调用的还是设备坐标系,这通过映射的方式来解决。Canvas的实质是设备环境的外套。