GDI+ 03 Coordinate Systems and Transformation

    GDI+提供 world transformation 和 page transformation 来进行 transform操作。

Types of Coordinate Systems 坐标系的类型

    Windows GDI+使用三种坐标空间: <1> world    <2> page     <3> device。

    当调用 graphics.DrawLine(&myPen, 0, 0, 160, 80) , 传递给 DrawLine()方法的点(0, 0)和 (160 , 80) 是在 world coordinate 空间中。  在GDI+将图形绘制到屏幕上之前, 坐标经过了一些转换: 一个从 world coordinates 转换到 page coordinate , 接着从 page coordinate 转到  device coordinate。

    page coordinate的原点在客户区的左上角的定点位置,不管采用像素为单位还是其他的单位。


    从world coordinate 映射到 page coordinate被称为 world transformation , 这个转换是通过操作 Graphics对象完成的。如:

myGraphics.TranslateTransform(100.0f , 50.0f);    //将world coordinate的原点(0, 0) 与 page coordinate中的(100.0f, 50.0f)映射。
myGraphics.DrawLine(&myPen, 0, 0, 160, 80);

    

从page coordinate 到 device coordinate的转换被称为 page transformation .  Graphics对象提供四个方法来操作和检查 page transformation : Graphics::SetPageUnit  ,  Graphics.GetPageUnit,   Graphics.SetPageScale ,  Graphics.GetPageScale


Matrix Representation of Transformation 转换的矩阵表示

    一个 m x n 的矩阵,是一个 n 行 ,n 列的数组。

    m x n 的矩阵可以与 m x p 的矩阵相乘,得到一个 m x p的矩阵。


Global and Local Transformations 全局转换和局部转换


你可能感兴趣的:(GDI+ 03 Coordinate Systems and Transformation)