2013-03-14 13 views
9

जावा में स्क्रीन का आकार कैसे प्राप्त करें?जावा में स्क्रीन का आकार प्राप्त करें

स्क्रीन रिज़ॉल्यूशन, स्क्रीन/मॉनिटर आकार इंच और पहलू अनुपात में नहीं। विकसित अनुप्रयोग को किसी प्रकार का परीक्षण प्रदर्शित करना है जो स्क्रीन आकार और पहलू अनुपात के बावजूद समान आकार होना चाहिए। आइए कहें कि हम एक आयत प्रदर्शित करना चाहते हैं जो कि 2 सेमी चौड़ा और 2 सेमी ऊंचा है और हम चाहते हैं कि यह प्रत्येक संभावित प्रकार के प्रदर्शन एडाप्टर के लिए एक ही आकार हो।

+0

मुझे लगता है कि यह संभव नहीं है, क्योंकि आपको वास्तविक आकार की गणना करने के लिए स्क्रीन डीपीआई पता होना चाहिए, लेकिन यह [संभव नहीं है] (http://stackoverflow.com/questions/4707756/how-to-correctly-detect-dpi -फ-डिस्प्ले-साथ-जावा) [जावा में] (http://stackoverflow.com/questions/6544510/how-to-get-the-screen-dpi-in-java) – bsiamionau

+0

क्या आपने यह उत्तर चेक किया है: http : //stackoverflow.com/questions/4322253/screen-display- आकार – NilsH

+0

'ग्राफिक्स कॉन्फ़िगरेशन' में 'getDefaultTransform'' आज़माएं। –

उत्तर

2

मुझे लगता है कि जवाब यह है कि यह शुद्ध जावा में संभव नहीं है, और संभवतः बिल्कुल नहीं।

आप डिफ़ॉल्ट Toolkit ऑब्जेक्ट के माध्यम से जावा में पिक्सेल में नाममात्र स्क्रीन आकार और नाममात्र स्केलिंग (डीपीआई) पकड़ सकते हैं। हालांकि, ये अक्सर गलत होते हैं ... और इससे गैर स्क्वायर वर्ग होते हैं।

आप मूल कोड के माध्यम से अधिक सटीक मान प्राप्त करने में सक्षम हो सकते हैं, लेकिन यह निश्चित रूप से गैर-पोर्टेबल होगा। यह क्यू/A यह असंभव है कहते हैं - How to get screen's physical size (i.e. in inches)?

0

यहाँ एक परीक्षण वातावरण में एक विशेष प्रदर्शन कैलिब्रेट करने के लिए एक दृष्टिकोण की एक रूपरेखा है:

  • एक अंशांकन आयत कि पिक्सल के एक मनमाना संख्या मान लिया गया contruct/इंच (डीपीआई)। एक अनुमान GraphicsConfiguration#getNormalizingTransform() से प्राप्त किया जा सकता है।

  • प्रस्तुत करें कि अनुमानित डीपीआई को आयताकार आयत।

  • क्षैतिज और लंबवत डीपीआई के लिए स्पिनर जोड़ें।

  • आयत को वांछित आयाम बनाने के लिए उपयोगकर्ता को स्पिनरों को समायोजित करने के लिए कहें।

  • बाद के उपयोग के लिए java.util.Preferences में मूल्य (ओं) रिकॉर्ड करें।

  • विशिष्ट डिवाइस कैलिब्रेशन की पहचान करने के लिए GraphicsDevice#getIDstring() का उपयोग करें।

परिशिष्ट: ऐसा ही एक सुविधा Analyze > SetScale… संवाद में, विकी विषय SpatialCalibration में सचित्र ImageJ में उपलब्ध है।

+0

और यह अगली बार के लिए एक आदर्श समाधान है: डी, ​​उपयोगकर्ता अंशांकन –

संबंधित मुद्दे