2012-10-07 39 views
6

मैं अपने आवेदन में 16x16 पिक्सल छवियों का इस्तेमाल किया है, ताकि मैं कुरकुरा किनारों हो और 96कंप्यूटर के डीपीआई की स्थापना

के मानक डीपीआई सेटिंग में कोई स्वत: आकार बदलने आधार पर एक अलग छवि का उपयोग करें उनके डीपीआई सेटिंग, छवियों बढ़े मिलता है, और के बाद से स्रोत फ़ाइलें केवल 16x16 कर रहे हैं, वे स्वाभाविक रूप से बुरा लग रहे हो। वहाँ एक रास्ता मैं किसी खास छवि स्रोत के लिए एक से अधिक चित्रों प्रदान कर सकता है, और सबसे अच्छा एक आप चुन ली जाएगी? उदाहरण के लिए मैं 16x16, 20x20 और 24x24 पिक्सेल के आकार वाली छवियां प्रदान करता हूं, जब छवि का आकार 16x16 [wpf इकाइयां] है, तो मेरे पास 96, 120 और 144 डीपीआई के लिए एकदम सही मिलान है?

उत्तर

0

क्या सबसे अच्छा मुझे लगता है कि कर सकते हैं सिस्टम की DPI सेटिंग के आधार पर रन-टाइम में image source dynamically स्थापित करने के लिए है। में कोड-पीछे आप गतिशील रूप से सेट कर सकते हैं की तरह है -

ImageViewer1.Source = new BitmapImage(new Uri(@"\\myserver\\folder1\\sample.png")); 

अपनी कक्षा में इस घटना के लिए सुनो कंप्यूटर का बदला डीपीआई सेटिंग्स के बारे में सूचना पाने के लिए - Microsoft.Win32.SystemEvents.DisplaySettingsChanged

float dpiX, dpiY; 
Graphics graphics = this.CreateGraphics(); 
dpiX = graphics.DpiX; 
dpiY = graphics.DpiY; 

ले जाएँ एक संपत्ति को यह तर्क और संपत्ति के मूल्य के आधार पर, गतिशील रूप से सेट - यह विवरण यहां पाया जा सकता - System Events

इसके अलावा, आप निम्नलिखित कोड का उपयोग कर प्रणाली डीपीआई मूल्य प्राप्त कर सकते हैं छवि स्रोत।