(ब्रैकेट के बिना) के विशिष्ट प्रारूप में डिवाइस के स्क्रीन रिज़ॉल्यूशन को आउटपुट करें [width]x[height]। उदाहरण के लिए, एक आउटपुट हो सकता है 1440x900।
'0x0'
(ब्रैकेट के बिना) के विशिष्ट प्रारूप में डिवाइस के स्क्रीन रिज़ॉल्यूशन को आउटपुट करें [width]x[height]। उदाहरण के लिए, एक आउटपुट हो सकता है 1440x900।
'0x0'
जवाबों:
(_=screen)=>_.width+"x"+_.height
फ़ंक्शन के रूप में आउटपुट return। f=शुरुआत में जोड़ें और जैसे आह्वान करें f()। पैरामीटर प्रारंभ करने में पैरामीटर-प्रारंभ करने का उपयोग करता है _करने के लिए screenवस्तु। बाकी आत्म-व्याख्यात्मक है।
f=(_=screen)=>_.width+"x"+_.height
console.log(f())
नोट: इस फ़ंक्शन के लिए एक तर्क पास करने से यह विफल हो जाएगा।
with(screen)alert(width+"x"+height)
कभी नहीं सोचा था कि मैं एक दिन उपयोग करूंगा with! मुझे नहीं लगता कि इसे आगे बढ़ाया जा सकता है।
s=screen,s.width+"x"+s.height(29 अक्षर) भी काम करता है।
alert: with(screen)(width+'x'+height)बस उचित स्ट्रिंग लौटाता है।
_=screen,_.width+"x"+_.height29 बाइट्स
* आह * TI-BASIC प्रत्येक लोअरकेस अक्षर के लिए एक अतिरिक्त बाइट लेता है।
+2 धन्यवाद @Timtech
-3 @Timtech को धन्यवाद
:If ΔX>.1
:Then
:Disp "96x64
:Else
:Disp "320x240
यह केवल इसलिए काम करता है क्योंकि TI-BASIC को केवल दो अलग-अलग स्क्रीन रिज़ॉल्यूशन वाले कैलकुलेटर पर चलाया जा सकता है: 96 64 और 320 को 240 से। मैं सिर्फ यह देखने के लिए परीक्षण करता हूं कि ज़ूम को किसी ऐसी चीज़ पर सेट करके जो स्क्रीन रिज़ॉल्यूशन के आधार पर अलग हो। सही समाधान का उत्पादन।
मैं इसे अभी के लिए गैर-प्रतिस्पर्धा के रूप में चिह्नित कर रहा हूं, क्योंकि यह कठिन कोडित है।
ZDecimalएक अलग Xmaxतुलना का उपयोग करके और फिर कम से कम एक बाइट का उपयोग करके बचा सकते हैं । इसके अलावा, मुझे लगता है कि आपको लो -केस का उपयोग करने की आवश्यकता है xजो कि एक-बाइट अपरकेस के बजाय दो बाइट्स (x2) है।
ZDecimal) का उपयोग करना है क्योंकि डिफ़ॉल्ट ज़ूम ( ZStandard) दोनों कैलकुलेटर पर समान है। हालांकि, मैं कैपिटलाइज़ेशन ठीक कर दूँगा।
ZStandardहालांकि उपयोग करते हैं , ΔXतो गणनाकर्ताओं के बीच भिन्न होगा ? इसके अलावा, ZDecimalकेवल एक बाइट है, इसलिए यह 31 बाइट्स है।
_=>(s=screen).width+'x'+s.height
console.log((_=>(s=screen).width+'x'+s.height)())
_=>(s=screen).width+'x'+s.heightएक बाइट बचाता है
/*/*/sy*r SPDisplaysDataType|awk '/so/{print$2$3$4}'
दौड़ता है system_profiler, SPDisplaysDataTypeसूचना पाता है , पहले खोजता हैso मेंResolution और स्क्रीन रिज़ॉल्यूशन प्रिंट करता है। कई स्क्रीन के लिए, यह सभी प्रस्तावों को प्रिंट करता है।
पूर्व, दुर्भावनापूर्ण प्रकार:
/*/*/sy*r SPDisplaysDataType|grep so|tr -d 'R :a-w'
2880x1800\n1920x1080@60Hz(दो लाइनें) मिलीं । मुझे नहीं पता कि क्या यह अयोग्य है ... या?
@60Hzस्पष्ट रूप से कल्पना में नहीं है।
|sed 1q, 58 बाइट्स तक बाइट की गिनती लाते हैं।
awkएक अतिरिक्त बाइट के लिए स्विचन और गैर-अनुपालन का निर्धारण किया । :)
s=screen;alert(s.width+"x"+s.height)
SysGet,w,0
SysGet,h,1
Send,%w%x%h%
इसे एक्सटेंशन .AHK वाली फ़ाइल में सहेजें और कमांड प्रॉम्प्ट से चलाएं
Sendबजाय का उपयोग क्यों नहीं MsgBox?
एक बाइट को बचाने के लिए @ जोहान डु टिट का धन्यवाद!
#import<windows.h>
#define G GetSystemMetrics
f(){printf("%dx%d",G(0),G(1));}
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
-7 मार्टिन एंडर को धन्यवाद
-5 (वास्तव में 12!) लीक नन से , रेगेक्स विजार्ड्री मुझसे परे है।
यह लंबा है लेकिन भयावह System.Windows.Forms.SystemInformation.PrimaryMonitorSizeसमाधान से अधिक लंबा नहीं है
(gwmi win32_videocontroller|% v*n)-replace" |x \d+\D+$"
पहले हम Get-WmiObject( gwmi) Win32_VideoControllerऑब्जेक्ट को पुनः प्राप्त करने के लिए , जिसमें एक सदस्य होता है जिसका नाम है VideoModeDescription, जो प्रारूप में एक स्ट्रिंग है 1920 x 1080 x 4294967296 colors, फिर मैं सही प्रारूप प्राप्त करने के लिए एक रेगीक्स रिप्लेस चलाता हूं।
PS H:\> (gwmi win32_videocontroller|% v*n)-replace" |x \d+\D+$"
1920x1080
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"कि regex को ट्विट करके बाइट्स के कुछ जोड़े हैं।
SystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]~Infix~x
यह आपके लिए काम नहीं कर सकता है कि आप किन उपकरणों से जुड़े हैं (मुझे नहीं पता)। यह हमेशा काम करना चाहिए (यह मानते हुए कि आपके पास कम से कम एक स्क्रीन हुक है):
Infix[Last/@("FullScreenArea"/.SystemInformation["Devices","ScreenInformation"][[1]]),x]
SystemInformation[] प्रपत्र की अभिव्यक्ति देता है
SystemInformationData[{
"Kernel" -> {__},
"FrontEnd" -> {__},
"Links" -> {__},
"Parallel" -> {__},
"Devices" -> {__},
"Network" -> {__},
}]
हम इसमें रुचि रखते हैं "Devices", जिसे सीधे रूप में एक्सेस किया जा सकता हैSystemInformation["Devices"] या इसके रूप मेंSystemInformation[][[1,5,2]] । परिणाम फॉर्म की एक सूची होगी
{
"ScreenInformation" -> {__},
"GraphicsDevices" -> {__},
"ControllerDevices" -> {__}
}
हम चाहते हैं "ScreenInformation", जिसे या तो एक्सेस किया जा सकेSystemInformation["Devices","ScreenInformation"] या अधिक केSystemInformation[][[1,5,2,1,2]] । परिणाम फॉर्म का होगा
{
{
"ScreenArea" -> {__},
"FullScreenArea" -> {{0,w_},{0,h_}},
"BitDepth" -> _,
"Resolution" -> _
},
___
}
सूची की लंबाई आपके द्वारा कनेक्ट की गई स्क्रीन की संख्या होगी। पहली स्क्रीन है SystemInformation[][[1,5,2,1,2,1]]और चौड़ाई और ऊंचाई निकाली जा सकती है, SystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]तब हम Infix xआउटपुट फॉर्मेट के लिए डालते हैं।
String f(){java.awt.Dimension s=java.awt.Toolkit.getDefaultToolkit().getScreenSize();return s.width+"x"+s.height;}
यह विधि जावा (जैसे टीआईओ) की एक हेडलेस इंस्टॉलेशन में काम नहीं करेगी क्योंकि यह आवेग पुस्तकालयों का उपयोग करती है। हुड के तहत, बुलाgetScreenSize स्क्रीन की चौड़ाई और स्क्रीन की ऊँचाई के लिए कॉल करने के लिए जावा नेटिव इंटरफ़ेस का उपयोग करती है (आमतौर पर सी लाइब्रेरी में)।
-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"));}ठीक है, जो जावा में भारी नहीं है .. पी;
_=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
-6 बाइट्स धन्यवाद @TheLethalCoder ने मुझे याद दिलाते हुए ओपी ने मुद्रण के बारे में उल्लेख नहीं किया है, इसलिए एक स्ट्रिंग वापस करना भी ठीक है। और एक अतिरिक्त -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;भी एक ही गिनती होगी लेकिन आप इसे उस विचार को ध्यान में रखकर गोल्फ कर सकते हैं।
read -aa<<<`xrandr`
echo ${a[7]}x${a[9]::-1}
xrandrX सर्वर से संबंधित है, Ubuntu पर x11-xserver-utils द्वारा प्रदान किया गया है पैकेज ।
नमूना रन:
bash-4.3$ read -aa<<<`xrandr`;echo ${a[7]}x${a[9]::-1}
1920x1080
xrandr|grep -oP '\d+x\d+'|line
करने के लिए धन्यवाद:
नमूना रन:
bash-4.3$ xrandr|grep -oP '\d+x\d+'|line
1920x1080
xrandr|grep *काम करेगा ?
grepऔर sedपार्स xrandrके उत्पादन ( pastebin.com/uTVcjWCq ) को पार्स करने के प्रयास लंबे थे।
xrandr|grep *|cut -d' ' -f1? (अपने पेस्ट @ टीआईओ से मिलान लाइन का उपयोग करते हुए )
from ctypes import*
u=windll.user32.GetSystemMetrics;
print u(0),'x',u(1)
print u(0),'x',u(1)छोटा है और उसका उदाहरण ( लिंक ) इसकी अनुमति देता है
To clarify, If it's equivalent to the output from What is my screen resolution, It's valid.उस वेबसाइट में, प्रत्येक भाग के बीच जगह है
' '⎕R'x'⍕⌽⊃⎕WG'DevCaps'
⎕WG'DevCaps' डब्ल्यू इंड एट जी देव बर्फ कैप abilitie रों
⊃ पहली संपत्ति चुनें (ऊंचाई, चौड़ाई)
⌽ उलटा
⍕ पाठ के रूप में प्रारूपित करें
' '⎕R'x' आर "x" s के साथ eplace रिक्त स्थान
Ox`ØP(s×Çn)±d+"x"+ight
संकुचित स्ट्रिंग का प्रतिनिधित्व करता है with(screen)width+"x"+height। Oxजावास्क्रिप्ट के रूप में इसका मूल्यांकन करता है, और परिणाम संक्षेप में मुद्रित होता है।
(-4 चार्ट @ एपलशेल की मदद के कारण)
हाँ। यह संकलन करता है।
m[3];main(){SDL_Init(32);SDL_GetDesktopDisplayMode(0,m);printf("%dx%d",m[1],m[2]);}
साथ दौड़ो : gcc snippet.c -lSDL2 && ./a.out
mवैश्विक और intm[3];main(){...
m+1से कम होना चाहिए m[1]? या C में ही नहीं बल्कि C ++ में भी यह संभव है? निश्चित रूप से प्रिंटफ के पास कुछ डीरेंशन टोकन है
धन्यवाद @ जोनाथन-एलन, @ felipe-nardi-batista
from Tkinter import*
print'%sx%s'%Tk().maxsize()
एकल प्रदर्शन सेटअप के लिए, यह साइट से आउटपुट से मेल खाता है। यह कई डिस्प्ले के लिए संपूर्ण रिज़ॉल्यूशन देता है।
print'x'....एक बाइट बचाता है
v=Tk().maxsize(), print'%sx%s'%v9 बाइट बचाता है।
print'%sx%s'%Tk().maxsize()एक और 4> _ <बचाता है
xdpyinfo|grep dim|cut -d' ' -f7
मैन पेज से:
xdpyinfo - is a utility for displaying information about an X server.
@Floris @manatwork कुछ बाइट्स बचाने के लिए धन्यवाद!
-d\ के बजाय -d' '। फिर जब यह grepएक लाइन और cutउस लाइन के एक हिस्से के लिए आता है , तो आमतौर पर एक awkकॉल से कम होता है xdpyinfo|awk '/dim/&&$0=$2':।
dimensionsलेकिन मेरे पास xdpyinfoमेरे सिस्टम पर नहीं है ...
grep *निर्देशिका में सभी फ़ाइलों के लिए तारांकन चिह्न का विस्तार करता है।
grep|cutहै awk।
*0। मेरा xrandr आउटपुट है *0 3360 x 1050 ( 889mm x 278mm ) *0।
-f2Btw की जरूरत है , क्या आप जांच कर सकते हैं xrandr|awk '/\*/{print $2}'?
सिर्फ पूर्णता के लिए:
PRINT "256x192"
आउटपुट 256x192। स्पेक्ट्रम में एक निश्चित हार्डवेयर्ड स्क्रीन रिज़ॉल्यूशन है।
void setup(){fullScreen();print(width+"x"+height);}
इस प्रारूप में यह आउटपुट width height:। साथ ही, प्रोग्राम एक विंडो बनाता है जो आपके द्वारा उपयोग किए जा रहे स्क्रीन का आकार है (क्योंकि प्रत्येक प्रोसेसिंग प्रोग्राम डिफ़ॉल्ट रूप से एक विंडो बनाता है) और यह प्रोग्राम सिर्फ इस विंडो / स्केच की ऊंचाई और चौड़ाई का आउटपुट देता है।
WIDTHxHEIGHT।
((import html-toolkit)
(htmlOnLoad #::((var S(index(getWindow)screen))
(print(+(index S width)"x"(index S height))))))
(पठनीयता के लिए लाइन ब्रेक जोड़ा गया)
अंत में, मेरे html- टूलकिट मॉड्यूल का कुछ उपयोग हो जाता है! केवल कोशिश करें ऑनलाइन लिंक में काम करता है, कमांड लाइन से काम नहीं करेगा।
1024 x 768मान्य आउटपुट हो सकता है तो कुछ बाइट्स सहेजे जा सकते हैं। हम बस (+ .. "x" .. )से बचने के लिए printनिहितार्थ का उपयोग करते हैं ।
2048x1080एक सच्चे 4K स्क्रीन के लिए कहता है जो वास्तव में है 4096x2160। कोई विचार क्यों? FreeBSD 11 पर फ़ायरफ़ॉक्स 52.0
window.screenप्राप्त कर रहा हूँ । मुझे लगता है कि अगर आपने फ़ायरफ़ॉक्स कंसोल को खोल दिया है और आपको टाइप किया है तो आप स्पष्ट रूप से गलत देखेंगे । widthheightwindow.screen2048x1080
$ set `xrandr`;echo $6x$8
3360x1050
दो मॉनिटर के साथ एक Cygwin मशीन पर पुनर्निर्देशित प्रदर्शन के साथ एक CentOS 5 बॉक्स पर परीक्षण किया गया। यहां पूरा xrandrआउटपुट है
$ xrandr
SZ: Pixels Physical Refresh
*0 3360 x 1050 ( 889mm x 278mm ) *0
Current rotation - normal
Current reflection - none
Rotations possible - normal
Reflections possible - none
puts `xrandr`.split[7..9].join[0..-2]
वैकल्पिक समाधान (52 बाइट्स):
puts `xrandr`.match(/t (\d+) (x) (\d+),/)[1..3].join