Как получить ширину и высоту экрана в Electron Framework

Как правило, экранный объект содержит информацию о пользовательском экране в браузере. Не существует общедоступного стандарта, который применяется к экранному объекту, однако все основные браузеры поддерживают его.

Таким образом, мы использовали бы следующий фрагмент кода, чтобы получить размеры экрана, используя Javascript в Браузере:

var monitorWidth = screen.width;
var monitorHeight = screen.height;
console.log(monitorWidth + "x" + monitorHeight);
// Outputs i.e : 1280x720

Тем не мение, это не работает в электронном. В этой статье вы узнаете, почему эта переменная не работает должным образом, и как правильно получить эти значения.

Переменная экрана в электронном

Единственная и простая причина, по которой экран недоступен со свойствами по умолчанию, которые мы видим и обрабатываем в обычном браузере, заключается в том, что экран является EventEmitter. И в рендере, и в DevTools, window.screen является зарезервированным свойством DOM, поэтому его замена (запись let {screen} = require('electron')) не будет работать.

Получить размеры экрана (ов)

Вместо того, чтобы обращаться к глобальной переменной экрана в браузере, нам нужна переменная экрана, доступная в константе Electron, которую вы можете получить, используя:

const electron = require('electron');
var screenElectron = electron.screen;

screen объект предоставит вам доступ к информации об экране (или экранах, если у вас их больше одного):

var mainScreen = screenElectron.getPrimaryDisplay();
var allScreens = screenElectron.getAllDisplays();
console.log(mainScreen, allScreens);

getPrimaryDisplay метод (или каждый объект в массиве, возвращаемый getAllDisplays метод) будет иметь структуру, аналогичную:

Экран информации Электрон

Вы можете прочитать больше о модуле экрана в документация Electron здесь.

Чтобы узнать высоту и ширину экрана, вы можете положиться на свойство размера возвращаемого экранного объекта:

var mainScreen = screenElectron.getPrimaryDisplay();
var dimensions = mainScreen.size;
console.log(dimensions.width + "x" + dimensions.height);
// Outputs i.e : 1280x720

Найденный объект (с методом mainScreen) предоставляет больше информации об измерении и других свойствах экрана:

  • workAreaSize: предоставляет размеры (высоту и ширину) экрана без высоты панели задач.
  • touchSupport: указывает на строку, если на экране используются сенсорные технологии.
  • scaleFactor: возвращает масштабный коэффициент экрана (Float), если он имеет значение (1 будет значением по умолчанию для любого экрана без включенного масштабирования).
  • Вращение: указывает, отличается ли ориентация экрана от 0 (нормальная).

Повеселись !

Ссылка на основную публикацию
Adblock
detector