2015-07-19 4 views
0

В Windows 8.1 я создал аддон firefox, чтобы сделать снимок экрана.Понимание нескольких мониторов dpi

У меня проблема. Это то, что я делаю:

  1. У меня есть установки, как это (MON1 не основной монитор, имеет Рез 1920х1080, монитор 2 является основным и имеет Рез 1280х1024)
  2. Снимок экрана всех мониторов в ImageData.
  3. Откройте два безликих/без полей окна с этим кодом:
  4. Затем после того, как откроется окно, я переместить его в originX и originY каждого монитора затем сделать его полноэкранный режим:

    aEditorDOMWindow.moveTo (colMon [Imon]. x, colMon [iMon] .y);

    aEditorDOMWindow.focus(); aEditorDOMWindow.fullScreen = true;

  5. Затем я создаю холст ширина х разрешение экрана согласования высоты в каждом окне и привлечь к нему мониторы скриншот

Итак, теперь проблема в том, что открытые окна на мониторе 2, а затем, когда я переместите его на монитор 1 и проверите холст, размер которого равен 1920x1080, который соответствует разрешению, но в видеозаписи ниже я измерил его с помощью фотошопа, и это визуально на самом деле 2880 x 1620.

Вот скринкаст youtube, демонстрирующий его: Youtube :: Why other monitor almost double size?

Я всегда замечаю, как я перетаскиваю окно с одного монитора на другой, он слегка меняет размер, что это называется? Это специфично для Window8.1 +? В любом случае с WinAPI я могу вызвать это изменение размера?

ответ

3

Вы, несомненно, видите, что функция виртуализации DPI Windows работает. В этом случае вы ничего не можете с этим поделать, это зависит от основного приложения, которое объявляет о мульти-мониторе DPI.

Это не предмет Mozilla bug #890156. Два года назад они не спешат это исправлять. Не так много голосов, вы можете добавить их.

+0

У меня эта проблема не возникает, когда я создаю одно огромное окно размером с все мониторы и позиционирую его в верхнем левом большинстве, а затем рисую скриншоты на холсте на нужном xy мониторов: http://imgur.com/qlWmwZo,48fHFxP вы можете помочь мне понять, почему? – Noitidart

+1

Перед созданием снимка экрана вы не переместили окно на 1-й монитор. Поэтому он не был изменен. –

+0

Wow thanks Hans !! Я попытаюсь переместить окно на 1-й монитор, затем нарисую и посмотрю, что произойдет. Сообщить об ошибке! – Noitidart

Смежные вопросы