16.windows坐标系

1.坐标系分类

  (1)设备坐标系 - 以像素为单位,以设备左上角为原点,X向右为正,Y向下为正的坐标系

     屏幕坐标系:以当前屏幕左上角为原点的坐标系

     窗口坐标系:以窗口左上角为原点的坐标系

     客户区坐标系:以窗口的客户区左上角为原点的坐标系

  (2)逻辑坐标系

     在GDI绘图中,都是使用逻辑坐标系绘图,逻辑坐标系可以设置坐标系单位

2.坐标系映射

  (1)映射模式

     逻辑坐标系和设备坐标系单位之间映射关系:

       设备坐标系的单位是由设备决定,大小固定。逻辑坐标系的单位可以通过程序设置。

       int SetMapMode( HDC   hdc,              //DC句柄

                                         int     fnMapMode);  //映射模式

       成功,返回旧的映射模式

       fnMapMode映射模式如下:

         MM_TEXT             -  一个逻辑单位=一个像素(操作系统默认),X轴右为正,Y轴下为正

         MM_HIENGLISH     -  一个逻辑单位=0.001英寸

         MM_LOENGLISH    -  一个逻辑单位=0.01英寸

         MM_HIMETRIC       -  一个逻辑单位=0.001毫米       

         MM_LOMETRIC      -  一个逻辑单位=0.1毫米         

         MM_TWIPS           -  一个逻辑单位=1/1440英寸(打印机常用)

         以上五个模式,X轴右为正,Y轴上为正

         自定义模式

         MM_ISOTROPIC     - 一个逻辑单位=自定义

         MM_ANISOTROPIC - X轴的一个逻辑单位=自定义1,Y轴的一个逻辑单位=自定义2

         X和Y轴的正方向也可以自定义

         BOOL SetWindowExtEx( HDC     hdc,           //DC句柄

                                                             int        nXExtent,  //逻辑的X比例

                                                             int        nYExtent,  //逻辑的Y比例

                                                             LPSIZE  lpSize);     //返回原来的比例,一般为NULL

         BOOL SetViewportExtEx( HDC     hdc,          //DC句柄

                                                              int        nXExtent,  //设备的X比例

                                                              int        nYExtent,  //设备的Y比例

                                                              LPSIZE  lpSize);     //返回原来的比例,一般为NULL

转载于:https://www.cnblogs.com/csqtech/p/5636979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值