方小韩丶 发表于 2017-8-8 23:04:27

GetWindowRect获得的设备坐标怎么转换成逻辑单位

GetWindowRect获得的设备坐标怎么转换成逻辑单位

ba21 发表于 2017-8-8 23:24:52

教程上有个转换公式。
xViewport = (xWindow - xWinOrg) * xViewExt / xWinExt + xViewOrg
yViewport = (yWindow - yWinOrg) * yViewExt / yWinExt + xViewOrg

1:xViewExt / xWinExt 或 yViewExt / yWinExt 的比值决定了窗口和视口的缩放。
2:xViewExt / xWinExt 或 yViewExt / yWinExt 的正负决定了坐标轴的方向。

SetWindowExtEx(hdc, 100, 100, NULL);        //先设置窗口xWinExt (逻辑坐标)
SetViewportExtEx(hdc, cxClient / 2, cyClient / 2, NULL); //再设置视口xViewExt(设备坐标)
页: [1]
查看完整版本: GetWindowRect获得的设备坐标怎么转换成逻辑单位