【发布时间】:2015-07-19 08:58:19
【问题描述】:
在 Windows 8.1 上,我创建了一个 firefox 插件来截取屏幕截图。
我遇到了问题。这就是我正在做的:
- 我有这样的设置(mon1 不是主显示器,分辨率为 1920x1080,显示器 2 是主显示器,分辨率为 1280x1024)
- 将所有监视器截屏到 ImageData。
- 使用此代码打开两个无功能/无边框的窗口:
-
然后在窗口打开后,我将它移动到每个监视器的 originX 和 originY 然后使其全屏:
aEditorDOMWindow.moveTo(colMon[iMon].x, colMon[iMon].y);
aEditorDOMWindow.focus(); aEditorDOMWindow.fullScreen = true;
然后我在每个窗口中创建一个宽度 x 高度与屏幕分辨率匹配的画布,并在其上绘制监视器屏幕截图
所以现在的问题是,窗口在监视器 2 上打开,然后当我将其移动到监视器 1 并检查画布时,大小为 1920x1080 与分辨率匹配,但在下面的视频记录中,我用 Photoshop 测量了它视觉上实际上是 2880 x 1620。
这是一个演示它的 youtube 截屏视频: Youtube :: Why other monitor almost double size?
我总是注意到,当我将一个窗口从一台显示器拖到另一台显示器时,它的大小会略有变化,这叫什么?它特定于 Window8.1+ 吗?无论如何我可以使用 WinAPI 触发此调整大小?
【问题讨论】:
标签: windows winapi resolution monitor multiple-monitors