使用SetWorldTransform进行翻译和轮换

时间:2016-03-09 13:11:49

标签: c++ winapi bitmap rotation

我正在尝试旋转位图。通过调用

XFORM form;
angle = -30;
form.eM11 = (FLOAT)cos(angle * 2 * M_PI / 360);
form.eM12 = (FLOAT)sin(angle * 2 * M_PI / 360);
form.eM21 = (FLOAT)-sin(angle * 2 * M_PI / 360);
form.eM22 = (FLOAT)cos(angle * 2 * M_PI / 360);
form.eDx = -SIZE / 2;
form.eDy = -SIZE / 2;
SetWorldTransform(hdc, &form);

位图围绕中心旋转,但旋转点不在hdc的中间。如果我尝试添加另一个转换以便在此之后立即转换位图,那么我就不会看到旋转效果。有没有办法混合这些转换?类似于矩阵乘法的东西应该有效,但我不知道如何实现它。

0 个答案:

没有答案