// 对绘制矩阵进行临时的变换来解决
Graphics m_pGp(hDC);
Matrix matrixOld, matrixNow;
m_pGp->GetTransform(&matrixOld); m_pGp->GetTransform(&matrixNow);
PointF gpPoint(500,-500); // MM_HIMETRIC下文字的逻辑坐标位置
// 变换绘制矩阵
matrixNow.Translate(gpPoint.X, gpPoint.Y);
matrixNow.Scale(1,-1);
matrixNow.Rotate(lf.lfEscapement/10);
matrixNow.Translate(-gpPoint.X, -gpPoint.Y);
m_pGp->SetTransform(&matrixNow);
FontFamily fontFamily(L"宋体");
Font font(&fontFamily, 600, FontStyleRegular, UnitPixel);
SolidBrush solidBrush(Color(255,255,0,0));
Status sresult = m_pGp->DrawString(_T(文字还倒不倒), -1, &font, gpPoint, &solidBrush);
// 恢复全局矩阵
m_pGp->SetTransform(&matrixOld);
Graphics m_pGp(hDC);
Matrix matrixOld, matrixNow;
m_pGp->GetTransform(&matrixOld); m_pGp->GetTransform(&matrixNow);
PointF gpPoint(500,-500); // MM_HIMETRIC下文字的逻辑坐标位置
// 变换绘制矩阵
matrixNow.Translate(gpPoint.X, gpPoint.Y);
matrixNow.Scale(1,-1);
matrixNow.Rotate(lf.lfEscapement/10);
matrixNow.Translate(-gpPoint.X, -gpPoint.Y);
m_pGp->SetTransform(&matrixNow);
FontFamily fontFamily(L"宋体");
Font font(&fontFamily, 600, FontStyleRegular, UnitPixel);
SolidBrush solidBrush(Color(255,255,0,0));
Status sresult = m_pGp->DrawString(_T(文字还倒不倒), -1, &font, gpPoint, &solidBrush);
// 恢复全局矩阵
m_pGp->SetTransform(&matrixOld);