Выведите разрешение экрана устройства в определенном формате [width]x[height]
(без скобок). Например, вывод может быть 1440x900
.
Вот онлайн-тестер, который вы можете использовать для проверки собственного разрешения экрана.
Выведите разрешение экрана устройства в определенном формате [width]x[height]
(без скобок). Например, вывод может быть 1440x900
.
Вот онлайн-тестер, который вы можете использовать для проверки собственного разрешения экрана.
'0x0'
Ответы:
JavaScript (ES6), 32 байта
Выходы как функция
return
. Добавитьf=
в начале и вызвать какf()
. Использует параметр инициализацию для инициализации параметров_
дляscreen
объекта. Остальное самоочевидно.Заметка: Передача аргумента этой функции приведет к сбою.
JavaScript (предыдущее решение), 35 байт
Никогда не думал, что буду однажды использовать
with
! Я не думаю, что это может быть дальше.источник
s=screen,s.width+"x"+s.height
(29 символов) также работает.alert
:with(screen)(width+'x'+height)
просто возвращает соответствующую строку._=screen,_.width+"x"+_.height
29 байтTI-BASIC,
303229 байт (не конкурирует?)* вздох * TI-BASIC берет дополнительный байт за каждую строчную букву.
+2 благодаря @Timtech
-3 благодаря @Timtech
Это работает только потому, что TI-BASIC можно запускать только на калькуляторах с двумя разными разрешениями экрана: 96 на 64 и 320 на 240. Я просто проверяю, какой у меня экран, установив Zoom на что-то, что отличается в зависимости от разрешения экрана. вывод правильного разрешения.
Я отмечаю это как неконкурентный на данный момент, так как это жестко закодировано.
источник
ZDecimal
а затем используя другоеXmax
сравнение, по крайней мере, один байт. Кроме того, я думаю, что вам нужно использовать нижний регистр,x
который составляет два байта (x2) вместо однобайтового эквивалента в верхнем регистре.ZDecimal
), потому что масштаб по умолчанию (ZStandard
) одинаков на обоих калькуляторах. Я исправлю заглавные буквы, хотя.ZStandard
, будетΔX
ли отличаться между калькуляторами? Кроме того,ZDecimal
это только один байт, так что это 31 байт.JavaScript (ES6), 32 байта
источник
_=>(s=screen).width+'x'+s.height
сохраняет байтmacOS, bash, awk,
grep, tr, 5152 байтаЗапускается
system_profiler
, получаетSPDisplaysDataType
информацию, выполняет поиск первогоso
инResolution
, и печатает разрешение экрана. Для нескольких экранов это печатает все разрешения.Предыдущий, несовместимый вариант:
источник
2880x1800\n1920x1080@60Hz
(две строки). Я не знаю, дисквалифицирует ли это это ... или?@60Hz
явно не в спецификации.|sed 1q
, увеличивая количество байтов до 58 байтов.awk
один дополнительный байт. :)Javascript, 36 байт
источник
Обработка 3, 37 байт
fullScreen()
заставляет приложение запускаться с максимальными размерами - разрешением экрана. На один байт меньше очевидногоисточник
AutoHotKey, 34 байта
Сохраните это в файле с расширением .AHK и запустите его из командной строки.
источник
Send
а неMsgBox
?C (Windows),
797877 байтСпасибо @Johan du Toit за сохранение байта!
источник
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 байт-7 спасибо Мартину Эндеру
-5 (на самом деле 12!) Из Leaky Nun , волшебство Regex вне меня.
Это долго, но не дольше, чем ужасное
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
решениесначала мы
Get-WmiObject
(gwmi
) получаемWin32_VideoController
объект, который содержит член с именемVideoModeDescription
, который является строкой в формате1920 x 1080 x 4294967296 colors
, затем я запускаю регулярное выражение замены, чтобы получить правильный формат.источник
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
сбрасывает пару байтов, настраивая регулярное выражение.Mathematica, 51 байт
Это может не работать для вас в зависимости от того, какие устройства вы подключили (я не знаю). Это всегда должно работать (при условии, что у вас подключен хотя бы один экран):
объяснение
SystemInformation[]
возвращает выражение формыНас интересует
"Devices"
, к чему можно получить доступ напрямую какSystemInformation["Devices"]
или какSystemInformation[][[1,5,2]]
. Результатом будет список формыМы хотим
"ScreenInformation"
, к которому можно получить доступ так жеSystemInformation["Devices","ScreenInformation"]
или более кратко, какSystemInformation[][[1,5,2,1,2]]
. Результат будет в формеДлина списка будет соответствовать количеству подключенных экранов. Первый экран
SystemInformation[][[1,5,2,1,2,1]]
и ширина и высота могут быть извлечены как.SystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Затем мы просто вставляемInfix
x
формат вывода.источник
Java 7,
123114 байтЭтот метод не будет работать в автономной установке Java (как в TIO), потому что он использует библиотеки awt. Под капотом зовет
getScreenSize
использует собственный интерфейс Java для вызова (обычно в библиотеку C) ширины и высоты экрана.-9 байт, спасибо Оливье Грегуару за напоминание, что я могу вернуть строку вместо ее печати.
источник
...x...
, потому чтоvoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
какие выходы1920,1200
короче ..x
вместо,
замены, используя некоторую замену регулярных выражений, но это на пять байтов больше, чем ваш текущий ответ:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
илиvoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
А, ну, что не тяжело в Java ..; pC #,
1019589 байт-6 байт благодаря @TheLethalCoder , напомнив, что OP не упоминал о печати, поэтому возвращать строку тоже хорошо. И дополнительные -6 байтов, меняя его на лямбду.
источник
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. Однако у вас есть возврат,void
но вы возвращаете,string
поэтому вам нужно добавить 2 байта для этого._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
это будет то же самое количество, но вы можете играть в гольф с этой идеей.Bash + xrandr, 44 символа
xrandr
принадлежит X-серверу, на Ubuntu предоставляется пакет x11-xserver-utils .Образец прогона:
xrandr + grep + util-linux, 30 символов
Благодаря:
Образец прогона:
источник
xrandr|grep *
работать?grep
иsed
попытки разбораxrandr
вывода ( pastebin.com/uTVcjWCq ) были длиннее.xrandr|grep *|cut -d' ' -f1
? (используя совпадающую строку из вашей пасты @ TIO )Python 2, 73 байта
источник
print u(0),'x',u(1)
меньше и его пример ( ссылка ) позволяет этоTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
на этом сайте есть пространство между каждой частьюоктава , 41 байт
Благодаря @Arjun и @StephenS для коррекции.
0
дескриптор корневого графического объекта. Его свойство'ScreenSize'
содержит координаты экрана в пикселях. Третья и четвертая записи дают желаемую информацию.источник
APL (Dyalog) , 23 байта
⎕WG'DevCaps'
W indow G и др Девы лед крышка abilitie с⊃
выбрать первое свойство (высота, ширина)⌽
обратный⍕
форматировать как текст' '⎕R'x'
R eplace пространства с «х» Sисточник
Japt , 24 байта
Проверьте это онлайн!
Сжатая строка представляет
with(screen)width+"x"+height
.Ox
оценивает это как JavaScript, и результат неявно печатается.источник
C (библиотека SDL2)
1138884(-4 символа из-за помощи @AppleShell)
Да. это компилируется.
Бежать с :
gcc snippet.c -lSDL2 && ./a.out
источник
m
глобальный и опускаяint
:m[3];main(){...
m+1
должен быть короче, чемm[1]
право? или это не возможно в C, но только в C ++? конечно, у printf есть некоторый токен разыменованияPython 2,
6149 байтСпасибо @ Джонатан-Аллан, @ Фелипе-Нарди-Батиста
Для настроек с одним дисплеем это соответствует выводу с сайта. Это дает полное разрешение для нескольких дисплеев.
источник
print'x'....
сохраняет байтv=Tk().maxsize()
,print'%sx%s'%v
сохраняет 9 байтов.print'%sx%s'%Tk().maxsize()
сохраняет еще 4> _ <bash + xdpyinfo
4231 байтС man-страницы:
@Floris @manatwork Спасибо за сохранение нескольких байтов!
источник
-d\
вместо-d' '
. Тогда , когда речь идет какgrep
для линии иcut
части этой линии, как правило , короче , с однимawk
вызовом:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
но у меня нетxdpyinfo
в моей системе ...xrandr
+ awk, 25 байтисточник
grep *
расширяет звездочку на все файлы в каталоге.grep|cut
ISawk
.*0
. Мой вывод xrandr есть*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
кстати, ты можешь проверитьxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 байтов
просто для полноты:
выходы
256x192
. Spectrum имеет фиксированное разрешение экрана.источник
Обработка, 51 байт
Это выводит в следующем формате:
width height
. Кроме того, программа создает окно, которое соответствует размеру используемого вами экрана (поскольку каждая программа обработки создает окно по умолчанию), и эта программа просто выводит высоту и ширину этого окна / эскиза.источник
WIDTHxHEIGHT
.xdpyinfo
+awk
, 28 байтПроверено на Cygwin с двумя головками.
источник
xdpyinfo|awk /dim/{print\$2}
занимает 28 байт не 24Tcl / Tk, 40
источник
Lithp , 116 байт
(Разрывы строк добавлены для удобства чтения)
Попробуйте онлайн!
Наконец, мой модуль html-toolkit получает некоторое применение! Работает только по ссылке Try it Online, не будет работать из командной строки.
Несколько байтов могут быть сохранены, если
1024 x 768
могут быть допустимыми вывода. Мы просто используем,(+ .. "x" .. )
чтобы избежатьprint
неявного пробела.источник
2048x1080
о настоящем 4K экране, который на самом деле4096x2160
. Есть идеи почему? Firefox 52.0 на FreeBSD 11.window.screen
и получениеwidth
иheight
атрибуты из него. Я полагаю, что если выwindow.screen
откроете консоль Firefox и введете ее, вы увидите, что она выглядит некорректно2048x1080
.Lua (Löve Framework), 116 байт
Программа сначала переключается в полноэкранный режим, затем получает ширину и высоту, а затем печатает ее :)
источник
xrandr и sh, 23 байта
Протестировано на коробке CentOS 5 с дисплеем, перенаправленным на машину Cygwin с двумя мониторами. Здесь полный
xrandr
выводисточник
Ruby + xrandr, 37 байт
Альтернативный раствор (52 байта):
источник
Красный , 26 байт
Выходы например:
Код довольно понятен.
1
Относится к первому экрануисточник