Keluarkan resolusi layar perangkat dalam format spesifik[width]x[height]
(tanpa tanda kurung). Sebagai contoh, sebuah output bisa saja 1440x900
.
Berikut adalah penguji online yang dapat Anda gunakan untuk memeriksa resolusi layar Anda sendiri.
Keluarkan resolusi layar perangkat dalam format spesifik[width]x[height]
(tanpa tanda kurung). Sebagai contoh, sebuah output bisa saja 1440x900
.
Berikut adalah penguji online yang dapat Anda gunakan untuk memeriksa resolusi layar Anda sendiri.
'0x0'
Jawaban:
JavaScript (ES6), 32 byte
Output sebagai fungsi
return
. Tambahkanf=
di awal dan aktifkan likef()
. Menggunakan inisialisasi parameter untuk menginisialisasi parameter_
kescreen
objek. Sisanya cukup jelas.Catatan: Melewatkan argumen ke fungsi ini akan menyebabkannya gagal.
JavaScript (Solusi Sebelumnya), 35 byte
Tidak pernah terpikir saya suatu hari akan menggunakan
with
! Saya tidak berpikir ini bisa bermain golf lebih lanjut.sumber
s=screen,s.width+"x"+s.height
(29 karakter) juga berfungsi.alert
:with(screen)(width+'x'+height)
hanya mengembalikan string yang sesuai._=screen,_.width+"x"+_.height
TI-BASIC,
303229 byte (tidak bersaing?)* sigh * TI-BASIC membutuhkan byte ekstra untuk setiap huruf kecil.
+2 terima kasih kepada @Timtech
-3 terima kasih kepada @Timtech
Ini hanya berfungsi karena TI-BASIC hanya dapat dijalankan pada kalkulator dengan dua resolusi layar yang berbeda: 96 oleh 64 dan 320 oleh 240. Saya hanya menguji untuk melihat layar yang saya miliki dengan mengatur Zoom ke sesuatu yang berbeda tergantung pada resolusi layar kemudian menghasilkan resolusi yang benar.
Saya menandai ini sebagai non-bersaing untuk saat ini, karena sulit dikodekan.
sumber
ZDecimal
dan kemudian menggunakanXmax
perbandingan yang berbeda , setidaknya satu byte. Juga, saya pikir Anda perlu menggunakan huruf kecilx
yang dua byte (x2) bukan setara dengan huruf besar satu byte.ZDecimal
) karena zoom default (ZStandard
) sama pada kedua kalkulator. Saya akan memperbaiki kapitalisasi.ZStandard
, apakahΔX
akan berbeda dengan kalkulator? Juga,ZDecimal
hanya satu byte, jadi ini adalah 31 byte.JavaScript (ES6), 32 byte
sumber
_=>(s=screen).width+'x'+s.height
menghemat satu bytemacOS, bash, awk,
grep, tr, 5152 byteBerjalan
system_profiler
, dapatkanSPDisplaysDataType
informasi, cari yang pertamaso
masukResolution
, dan cetak resolusi layar. Untuk beberapa layar, ini mencetak semua resolusi.Varian sebelumnya yang tidak memenuhi syarat:
sumber
2880x1800\n1920x1080@60Hz
(dua baris). Saya tidak tahu apakah itu mendiskualifikasi ini ... atau?@60Hz
jelas tidak dalam spesifikasi.|sed 1q
, membawa jumlah byte hingga 58 byte.awk
dan memiliki satu byte tambahan. :)Javascript, 36 byte
sumber
Memproses 3, 37 byte
fullScreen()
menyebabkan aplikasi untuk meluncurkan dengan dimensi maksimum - resolusi tampilan. Satu byte kurang dari yang jelassumber
AutoHotKey, 34 byte
Simpan ini dalam file dengan ekstensi .AHK dan jalankan dari prompt perintah
sumber
Send
daripadaMsgBox
?C (Windows),
797877 byteTerima kasih kepada @Johan du Toit karena telah menghemat satu byte!
sumber
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 Bytes-7 Terima kasih kepada Martin Ender
-5 (sebenarnya 12!) Dari Leaky Nun , sihir Regex berada di luar jangkauanku.
Ini panjang tapi tidak lebih lama dari
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
solusi yang menghebohkanpertama kita
Get-WmiObject
(gwmi
) untuk mengambilWin32_VideoController
objek, yang berisi anggota bernamaVideoModeDescription
, yang merupakan string dalam format1920 x 1080 x 4294967296 colors
, kemudian saya jalankan ganti regex untuk mendapatkan format yang benar.sumber
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
mencukur beberapa byte dengan mengubah regex.Mathematica, 51 byte
Ini mungkin tidak berfungsi untuk Anda tergantung pada perangkat apa yang telah Anda hubungkan (saya tidak tahu). Ini harus selalu berfungsi (dengan asumsi Anda memiliki setidaknya satu layar terhubung):
Penjelasan
SystemInformation[]
mengembalikan ekspresi formulirKami tertarik
"Devices"
, yang dapat diakses secara langsung sebagaiSystemInformation["Devices"]
atau sebagaiSystemInformation[][[1,5,2]]
. Hasilnya akan berupa daftar formulirKami ingin
"ScreenInformation"
, yang dapat diakses sebagaiSystemInformation["Devices","ScreenInformation"]
atau lebih ringkas sepertiSystemInformation[][[1,5,2,1,2]]
. Hasilnya akan berupaPanjang daftar akan menjadi jumlah layar yang telah Anda hubungkan. Layar pertama adalah
SystemInformation[][[1,5,2,1,2,1]]
dan lebar dan tinggi dapat diekstraksi sebagaiSystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Kemudian kita hanya memasukkanInfix
x
format output.sumber
Java 7,
123114 byteMetode ini tidak akan berfungsi pada instalasi Java tanpa kepala (seperti pada TIO) karena menggunakan pustaka awt. Di bawah tenda, panggilan
getScreenSize
menggunakan Java Native Interface untuk memanggil (biasanya ke pustaka C) untuk lebar layar dan tinggi layar.-9 byte terima kasih kepada Olivier Grégoire karena mengingatkan saya bahwa saya dapat mengembalikan string daripada mencetaknya.
sumber
...x...
, karenavoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
output mana1920,1200
yang lebih pendek ..x
bukannya,
dengan menggunakan beberapa pengganti regex, tapi lima byte lebih dari jawaban Anda saat ini:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
atauvoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
Ah, apa yang tidak berat di Jawa ..; pC #,
1019589 byte-6 byte terima kasih kepada @TheLethalCoder dengan mengingatkan saya OP tidak menyebutkan tentang pencetakan, jadi mengembalikan string juga baik-baik saja. Dan tambahan -6 byte dengan mengubahnya menjadi lambda.
sumber
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. Namun, Anda memiliki pengembalianvoid
tetapi Anda mengembalikanstring
sehingga Anda perlu menambahkan 2 byte untuk itu._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
juga akan menjadi jumlah yang sama tetapi Anda bisa golf dengan ide itu dalam pikiran.Bash + xrandr, 44 karakter
xrandr
milik server X, pada Ubuntu disediakan oleh paket x11-xserver-utils .Contoh dijalankan:
xrandr + grep + util-linux, 30 karakter
Terimakasih untuk:
Contoh dijalankan:
sumber
xrandr|grep *
berfungsi?grep
dansed
upaya untuk memxrandr
- parsing keluaran ( pastebin.com/uTVcjWCq ) lebih lama.xrandr|grep *|cut -d' ' -f1
? (menggunakan garis yang cocok dari pasta Anda @ TIO )Python 2, 73 byte
sumber
print u(0),'x',u(1)
lebih kecil dan contohnya ( tautan ) memungkinkannyaTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
di situs web itu, ada ruang di antara masing-masing bagianOktaf , 41 byte
Terima kasih kepada @Arjun dan @StephenS untuk koreksi.
0
adalah pegangan untuk objek grafis root. Properti ini'ScreenSize'
mengandung koordinat layar dalam piksel. Entri ketiga dan keempat memberikan informasi yang diinginkan.sumber
APL (Dyalog) , 23 byte
⎕WG'DevCaps'
W indow G et Dev es Cap abilitie s⊃
pilih properti pertama (tinggi, lebar)⌽
membalikkan⍕
format sebagai teks' '⎕R'x'
R ruang eplace dengan "x" ssumber
Japt , 24 byte
Uji secara online!
String terkompresi mewakili
with(screen)width+"x"+height
.Ox
mengevaluasi ini sebagai JavaScript, dan hasilnya dicetak secara implisit.sumber
C (perpustakaan SDL2)
1138884(-4 karakter karena bantuan @AppleShell)
Iya nih. itu mengkompilasi.
Jalankan dengan:
gcc snippet.c -lSDL2 && ./a.out
sumber
m
global dan menghilangkanint
:m[3];main(){...
m+1
harus lebih pendek dari yangm[1]
benar? atau tidakkah itu mungkin di C tetapi hanya di C ++? pasti printf memiliki token dereferensiPython 2,
6149 byteTerima kasih @ Jonathan-allan, @ felipe-nardi-batista
Untuk pengaturan tampilan tunggal, ini cocok dengan output dari situs. Ini memberikan seluruh resolusi untuk beberapa tampilan.
sumber
print'x'....
menghemat satu bytev=Tk().maxsize()
,print'%sx%s'%v
menghemat 9 byte.print'%sx%s'%Tk().maxsize()
simpan lagi 4> _ <bash + xdpyinfo
4231 byteDari halaman manual:
@ Floris @ manatwork Terima kasih telah menyimpan beberapa byte!
sumber
-d\
alih-alih-d' '
. Kemudian ketika datang untuk keduagrep
untuk jalur dancut
bagian dari garis itu, biasanya lebih pendek dengan satuawk
panggilan:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
tetapi saya tidak memilikixdpyinfo
pada sistem saya ...xrandr
+ awk, 25 bytesumber
grep *
memperluas tanda bintang ke semua file dalam direktori.grep|cut
adalahawk
.*0
. Output xrandr saya adalah*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
Btw, Bisakah Anda memeriksaxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 byte
hanya untuk kelengkapan:
output
256x192
. Spectrum memiliki resolusi layar bawaan yang telah diperbaiki.sumber
Memproses, 51 byte
Ini output dalam format ini:
width height
. Juga, program membuat jendela dengan ukuran layar yang Anda gunakan (karena setiap program Pemrosesan membuat jendela secara default) dan program ini hanya menampilkan tinggi dan lebar jendela / sketsa ini.sumber
WIDTHxHEIGHT
.xdpyinfo
+awk
, 28 byteDiuji pada Cygwin dengan kepala ganda.
sumber
xdpyinfo|awk /dim/{print\$2}
membutuhkan 28 byte, bukan 24Tcl / Tk, 40
sumber
Lithp , 116 byte
(Line break ditambahkan untuk dibaca)
Cobalah online!
Akhirnya, modul html-toolkit saya mulai digunakan! Hanya berfungsi di tautan Coba Online, tidak akan berfungsi dari baris perintah.
Beberapa byte dapat disimpan jika
1024 x 768
bisa berupa output yang valid. Kami hanya menggunakan(+ .. "x" .. )
untuk menghindariprint
jarak implisit.sumber
2048x1080
untuk layar 4K yang sebenarnya4096x2160
. Ada yang tahu kenapa? Firefox 52.0 pada FreeBSD 11.window.screen
dan mendapatkanwidth
danheight
atribut dari itu. Saya membayangkan jika Anda membuka konsol Firefox dan mengetikwindow.screen
Anda akan melihat yang tampaknya salah2048x1080
.Lua (löve framework), 116 byte
Programm berubah pertama menjadi layar penuh kemudian mendapatkan lebar dan tinggi dan mencetaknya kemudian :)
sumber
xrandr dan sh, 23 byte
Diuji pada kotak CentOS 5 dengan layar dialihkan ke mesin Cygwin dengan dua monitor. Di sini
xrandr
output lengkapnya adalahsumber
Ruby + xrandr, 37 byte
Solusi alternatif (52 byte):
sumber
Merah , 26 Bytes
Output misalnya:
Kode ini cukup jelas. The
1
mengacu pada layar pertamasumber