在Windows 8.1上,我创建了一个firefox插件来截取屏幕截图。
我遇到了问题。这就是我正在做的事情:
然后在窗口打开后,我将它移动到每个显示器的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我可以触发此大小调整吗?
答案 0 :(得分:3)
毫无疑问,Windows的DPI虚拟化功能正在发挥作用。在这种情况下,您无法做任何事情,主要应用程序可以声明自己的多显示器DPI意识。
它不是Mozilla bug #890156的主题。已经两岁了,他们并不急于修复它。不是很多选票,你可以加一个。