方法原型如下:
BOOL SetWorldTransform(
const XFORM* pXform
);
参数 pXform 是一个指向 XFORM 结构的指针,表示要设置的世界变换矩阵。XFORM 结构定义如下:
typedef struct tagXFORM {
float eM11;
float eM12;
float eM21;
float eM22;
float eDx;
float eDy;
} XFORM, *PXFORM;
eM11 到 eDy 分别表示矩阵的各个元素。设置成功返回 TRUE,否则返回 FALSE。
以下是一个简单的例子,演示如何使用 SetWorldTransform 方法:
CClientDC dc(this); // 创建一个设备上下文
// 设置世界变换矩阵
XFORM xform;
xform.eM11 = 2.0f; // 水平缩放因子
xform.eM12 = 0.0f; // 水平倾斜因子
xform.eM21 = 0.0f; // 垂直倾斜因子
xform.eM22 = 2.0f; // 垂直缩放因子
xform.eDx = 50.0f; // 水平平移
xform.eDy = 50.0f; // 垂直平移
BOOL success = dc.SetWorldTransform(&xform);
// 在设备上下文中进行绘制操作
// 恢复原来的世界变换矩阵
XFORM identity;
identity.eM11 = 1.0f;
identity.eM12 = 0.0f;
identity.eM21 = 0.0f;
identity.eM22 = 1.0f;
identity.eDx = 0.0f;
identity.eDy = 0.0f;
dc.SetWorldTransform(&identity);
在这个例子中,SetWorldTransform 方法被用于设置设备上下文的世界变换矩阵,然后在进行绘制操作。最后,通过 SetWorldTransform 方法还原世界变换矩阵。
转载请注明出处:http://www.zyzy.cn/article/detail/17031/MFC/CDC