逻辑坐标和设备坐标

Posted on 2008-03-29 20:44  少林  阅读(1445)  评论(0编辑  收藏  举报
      windows里,任何时候,当程序向显示器或打印机进行绘制时,它必须使用gdi函数.gdi函数可以绘制点,直线,矩形,多变形,椭圆,位图和文本.为了更好的控制图形或文字在显示设备上的绘制,windows使用映射模式来解决这个问题.
       在windows下,一共有三大类影射模式.分别为MM_TEXT模式,固定比例的映射模式和可变比例的影射模式.每种影射模式模式其优缺点.
        一,MM_TEXT影射模式,在此模式下,向右移动,x增加,向下移动,y增加.如,以下代码在坐标(100,100)处画个半径为100的圆.
        hdc = BeginPaint(hWnd,&ps);
        SelectObject(hdc,GetStockObject(BLACK_BRUSH));
        Ellipse(hdc,100,100,200,200);
        EndPaint(&ps);
        因为此模式和设备坐标相似,因此,默认情况下,windows使用的是此模式.
        二 ,固定比例的影射模式
               固定比例的映射模式又分为以下几中.
                (1)MM_LOENGLISH                0.01英寸
                (2)MM_HIENGLISH                 0.001英寸
                (3)MM_LOMETRIC                   0.1毫米
                (4)MM_HIMETRIC                     0.01毫米
                (5)MM_TWIPS                           1/1440英寸
            此模式下,向右移动,x增加;向下移动,y减少.
    三,可变比例模式
           可变比例模式分为两种,MM_ISOTROPIC和MM_ANISOTROPIC.他们允许我们改变比例因子和原点。使用MM_ISOTROPIC 模式时,将始终保持1:1的纵横比.换句话说,无论比例因子如何变,圆始终是个圆.在MM_ANISOTROPIC方式中.x和y比例因子可以分别改变.圆可以压成椭圆.

Copyright © 2024 少林
Powered by .NET 8.0 on Kubernetes