Envie a resolução de tela do dispositivo no formato específico de [width]x[height]
(sem os colchetes). Por exemplo, uma saída poderia ser 1440x900
.
Aqui está um testador online que você pode usar para verificar sua própria resolução de tela.
Envie a resolução de tela do dispositivo no formato específico de [width]x[height]
(sem os colchetes). Por exemplo, uma saída poderia ser 1440x900
.
Aqui está um testador online que você pode usar para verificar sua própria resolução de tela.
'0x0'
Respostas:
JavaScript (ES6), 32 bytes
Saídas como função
return
. Adicionef=
no início e chame likef()
. Usa a inicialização de parâmetro_
para inicializar o parâmetro noscreen
objeto. O resto é auto-explicativo.Nota: Passar um argumento para esta função fará com que ela falhe.
JavaScript (solução anterior), 35 bytes
Nunca pensei que um dia usaria
with
! Eu não acho que isso possa ser jogado ainda mais.fonte
s=screen,s.width+"x"+s.height
(29 caracteres) também funcionará.alert
:with(screen)(width+'x'+height)
apenas retorna a string apropriada._=screen,_.width+"x"+_.height
29 bytesTI-BASIC,
303229 bytes (não concorrente?)* suspiro * O TI-BASIC leva um byte extra para cada letra minúscula.
+2 graças a @Timtech
-3 graças a @Timtech
Isso funciona apenas porque o TI-BASIC só pode ser executado em calculadoras com duas resoluções de tela diferentes: 96 por 64 e 320 por 240. Acabei de testar para ver qual tela tenho configurando o Zoom para algo diferente, dependendo da resolução da tela. produzindo a resolução correta.
Estou marcando isso como não competitivo por enquanto, pois é codificado.
fonte
ZDecimal
e, em seguida, usando umaXmax
comparação diferente , pelo menos um byte. Além disso, acho que você precisa usar letras minúsculas,x
que são dois bytes (x2), em vez do equivalente em letras maiúsculas de um byte.ZDecimal
) porque o zoom padrão (ZStandard
) é o mesmo nas duas calculadoras. Eu vou consertar a capitalização, no entanto.ZStandard
, porém, seriaΔX
diferente entre as calculadoras? Além disso,ZDecimal
é apenas um byte, portanto, são 31 bytes.JavaScript (ES6), 32 bytes
fonte
_=>(s=screen).width+'x'+s.height
salva um bytemacOS, bash, awk,
grep, tr, 5152 bytesCorridas
system_profiler
, recebe aSPDisplaysDataType
informação, pesquisas para o primeiroso
emResolution
, e imprime a resolução da tela. Para várias telas, isso imprime todas as resoluções.A variante anterior, que não é compatível:
fonte
2880x1800\n1920x1080@60Hz
(duas linhas). Não sei se isso desqualifica isso ... ou?@60Hz
claramente não está nas especificações.|sed 1q
, aumentando a contagem de bytes até 58 bytes.awk
e tendo um byte extra. :)Javascript, 36 bytes
fonte
Processando 3, 37 bytes
fullScreen()
faz com que o aplicativo seja iniciado com as dimensões máximas - a resolução da tela. Um byte a menos que o óbviofonte
AutoHotKey, 34 bytes
Salve isso em um arquivo com a extensão .AHK e execute-o em um prompt de comando
fonte
Send
vez deMsgBox
?C (Windows),
797877 bytesObrigado a @Johan du Toit por salvar um byte!
fonte
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 bytes-7 graças a Martin Ender
-5 (na verdade 12!) De Leaky Nun , a magia Regex está além de mim.
Isso é longo, mas não maior que a
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
solução horrendaprimeiro nós
Get-WmiObject
(gwmi
) para recuperar oWin32_VideoController
objeto, que contém um membro chamadoVideoModeDescription
, que é uma string no formato de1920 x 1080 x 4294967296 colors
, então eu executo um regex replace para obter o formato correto.fonte
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
raspa alguns bytes, ajustando o regex.Mathematica, 51 bytes
Isso pode não funcionar para você, dependendo de quais dispositivos você conectou (não sei). Isso sempre deve funcionar (supondo que você tenha pelo menos uma tela conectada):
Explicação
SystemInformation[]
retorna uma expressão do formulárioEstamos interessados
"Devices"
, que podem ser acessados diretamente comoSystemInformation["Devices"]
ou comoSystemInformation[][[1,5,2]]
. O resultado será uma lista do formulárioQueremos
"ScreenInformation"
, que pode ser acessado de maneiraSystemInformation["Devices","ScreenInformation"]
mais ou mais sucintaSystemInformation[][[1,5,2,1,2]]
. O resultado será da formaO comprimento da lista será o número de telas que você conectou. A primeira tela é
SystemInformation[][[1,5,2,1,2,1]]
e a largura e a altura podem ser extraídas comoSystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Então, basta inserir umInfix
x
para o formato de saída.fonte
Java 7,
123114 bytesEste método não funcionará em uma instalação decapitada de Java (como no TIO) porque usa as bibliotecas awt. Sob o capô, a chamada
getScreenSize
usa a Java Native Interface para chamar (normalmente em uma biblioteca C) a largura e a altura da tela.-9 bytes graças a Olivier Grégoire por me lembrar que eu posso retornar a string em vez de imprimi-la.
fonte
...x...
, porquevoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
o que saídas1920,1200
é mais curto ..x
vez de,
usar alguma substituição de regex, mas são cinco bytes a mais do que sua resposta atual:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
ouvoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
Ah, bem, o que não é pesado em Java ..; pC #,
1019589 bytes-6 bytes graças a @TheLethalCoder , lembrando-me de que o OP não mencionou sobre impressão, portanto, retornar uma string também é bom. E -6 bytes adicionais, alterando-o para um lambda.
fonte
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. No entanto, você tem um retorno de,void
mas você está retornando um,string
então você precisa adicionar 2 bytes para isso._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
também seria a mesma contagem, mas você poderia jogar com essa ideia em mente.Bash + xrandr, 44 caracteres
xrandr
pertence ao servidor X, no Ubuntu é fornecido pelo pacote x11-xserver-utils .Exemplo de execução:
xrandr + grep + util-linux, 30 caracteres
Graças a:
Exemplo de execução:
fonte
xrandr|grep *
funcionaria?grep
e assed
tentativas de analisarxrandr
a saída ( pastebin.com/uTVcjWCq ) foram maiores.xrandr|grep *|cut -d' ' -f1
? (usando a linha correspondente da sua pasta @ TIO )Python 2, 73 bytes
fonte
print u(0),'x',u(1)
é menor e seu exemplo ( link ) permiteTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
nesse site, há espaço entre cada parteOitava , 41 bytes
Obrigado a @Arjun e @StephenS pelas correções.
0
é um identificador para o objeto gráfico raiz. Sua propriedade'ScreenSize'
contém as coordenadas da tela em pixels. A terceira e quarta entradas fornecem as informações desejadas.fonte
APL (Dyalog) , 23 bytes
⎕WG'DevCaps'
W indow L et Dev gelo Tampão abilitie s⊃
escolha a primeira propriedade (altura, largura)⌽
marcha ré⍕
formatar como texto' '⎕R'x'
R espaços EColoque com "x" sfonte
Japt , 24 bytes
Teste online!
A sequência compactada representa
with(screen)width+"x"+height
.Ox
avalia isso como JavaScript e o resultado é impresso implicitamente.fonte
C (biblioteca SDL2)
1138884(-4 caracteres devido à ajuda do @AppleShell)
Sim. compila.
Correr com :
gcc snippet.c -lSDL2 && ./a.out
fonte
m
global e omitindoint
:m[3];main(){...
m+1
deve ser mais curto que om[1]
certo? ou isso não é possível em C, mas apenas em C ++? certamente printf tem algum dereference token dePython 2,
6149 bytesObrigado @ Jonathan-allan, @ felipe-nardi-batista
Para configurações de exibição única, isso corresponde à saída do site. Isso fornece resolução completa para vários monitores.
fonte
print'x'....
salva um bytev=Tk().maxsize()
,print'%sx%s'%v
salva 9 bytes.print'%sx%s'%Tk().maxsize()
salva outro 4> _ <bash + xdpyinfo
4231 bytesNa página do manual:
@Floris @manatwork Obrigado por salvar alguns bytes!
fonte
-d\
vez de-d' '
. Então, quando se trata de ambosgrep
para uma linha ecut
uma parte dessa linha, geralmente é mais curto com uma únicaawk
chamada:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
, mas eu não tenhoxdpyinfo
no meu sistema ...xrandr
+ awk, 25 bytesfonte
grep *
expande o asterisco para todos os arquivos no diretóriogrep|cut
éawk
.*0
. Minha saída xrandr é*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
Btw, você pode verificarxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 bytes
apenas para completar:
saídas
256x192
. O Spectrum possui uma resolução de tela fixa fixa.fonte
Processando, 51 bytes
Isso gera neste formato:
width height
. Além disso, o programa cria uma janela com o tamanho da tela que você está usando (porque todos os programas de processamento criam uma janela por padrão) e esse programa apenas exibe a altura e a largura dessa janela / esboço.fonte
WIDTHxHEIGHT
.xdpyinfo
+awk
, 28 bytesTestado em Cygwin com duas cabeças.
fonte
xdpyinfo|awk /dim/{print\$2}
toma 28 bytes e não 24Tcl / Tk, 40
fonte
Lit , 116 bytes
(Quebras de linha adicionadas para facilitar a leitura)
Experimente online!
Finalmente, meu módulo html-toolkit é útil! Funciona apenas no link Experimente online, não funcionará na linha de comando.
Alguns bytes podem ser salvos se houver
1024 x 768
saída válida. Nós apenas usamos(+ .. "x" .. )
para evitarprint
o espaçamento implícito.fonte
2048x1080
para uma tela 4K real que é realmente4096x2160
. Alguma idéia do porquê? Firefox 52.0 no FreeBSD 11.window.screen
e obter owidth
eheight
atributos dele. Eu imagino que se você abriu o console do Firefox e digitou,window.screen
verá o aparentemente incorreto2048x1080
.Lua (estrutura completa), 116 bytes
O programa muda primeiro para tela cheia, obtém a largura e a altura e as imprime :)
fonte
xrandr e sh, 23 bytes
Testado em uma caixa CentOS 5 com tela redirecionada para uma máquina Cygwin com dois monitores. Aqui a
xrandr
saída total éfonte
Ruby + xrandr, 37 bytes
Solução alternativa (52 bytes):
fonte
Vermelho , 26 bytes
Saídas por exemplo:
O código é bastante auto-explicativo. O
1
refere-se à primeira telafonte