2009-06-08 15 views
7

मैं छवियों को एक आइकन में सेट करने की कोशिश कर रहा हूं, एक .ico फ़ाइल से दो आइकन: 32x32 संस्करण और 16x16 संस्करण। छवियां सेटिंग हैं, लेकिन नेट 32x32 संस्करण चुन रहा है, और आसानी से उपलब्ध 16x16 छवि को चुनने के बजाय इसे स्केल कर रहा है (जो भयानक लग रहा है)।सी #: एकाधिक छवियों के साथ .ico फ़ाइल का उपयोग

प्रासंगिक कोड:

ilTree.Images.Add(Properties.Resources.group); 
ilTree.Images.Add(Properties.Resources.single); 
ilTree.Images.Add(Properties.Resources.db); 
treeStored.ImageList = ilTree; 

कहाँ मैं गलत हो रहा हूँ?


उत्तर:

वहाँ दो चीजें आप क्या करना चाहिए इस काम करने के लिए मिल रहे हैं। नीचे वर्णित पहला, छवि सूची में सही आकार को मैन्युअल रूप से निर्दिष्ट करना है। दूसरा यह है कि आपको शायद रंग गहराई को भी निर्दिष्ट करना होगा। एमएसडीएन ने कहा है कि:

.NET Framework संस्करण 1.1 या बाद में, डिफ़ॉल्ट Depth8Bit है।

... हालांकि, छविइस्ट को मेरे 8-बिट आइकन से रंग हटाने से नहीं रोका। नज़दीकी निरीक्षण पर, मेरे आइकन (तीन थे) थे: 4 बिट, 4 बिट, 8 बिट। दो 4 बिट आइकनों ने पैलेट साझा किए, हालांकि 8 बिट के पास एक अलग था। कुल मिलाकर, आइकन के बीच 257 रंग थे। केवल मामूली ओवरफ्लो के बावजूद, नेट ने इसे केवल रंगों तक दबा दिया।

उत्तर

5

आप एक नया चिह्न वस्तु बनाने के लिए की जरूरत है। कन्स्ट्रक्टर के लिए एक अधिभार है जो मूल आइकन ऑब्जेक्ट और आकार को स्वीकार करता है। मुझे नहीं पता कि नया आइकन ऑब्जेक्ट एक ही HIcon साझा करेगा, लेकिन यह ठीक से आकर्षित करेगा। सुरक्षित होने के लिए, मैं यह सुनिश्चित करने की सिफारिश करता हूं कि दोनों का निपटारा किया जाए।

+0

अच्छा, यह काम करता है। हालांकि यह निश्चित रूप से बहुत अच्छा होगा अगर ट्री व्यू सिर्फ सही चीज ™ करेगा ... – Thanatos

+0

असल में, बिल्कुल नहीं। यह - ilTree.ColorDepth = ColorDepth.Depth24Bit; - भी जरूरी है। अन्यथा, ऐसा लगता है कि यह गलत है (गलत) 16-बिट। – Thanatos

+0

डिफ़ॉल्ट 8-बिट है, लेकिन इसे उन छवियों को लोड करना चाहिए जिनके साथ आपने पहले कभी रंगीन गहराई निर्दिष्ट की है। – snarf

1

सेट नया आकार को ImageList की ImageSize संपत्ति (16, 16)

+0

यह छविसूची का डिफ़ॉल्ट आकार है - इसे मैन्युअल रूप से सेट करना होगा (और, जब मैं इसे जोड़ूं) कोई प्रभाव नहीं। – Thanatos

+0

हम्म, यह पहले मेरे लिए काम किया है। क्या आप छवियों को जोड़ने या बाद में इसे सेट करते हैं? यह नहीं पता था कि यह डिफ़ॉल्ट था। – rein

+0

मैंने इसे पहले जोड़ने की कोशिश की। इसके बाद भी कोई प्रभाव नहीं पड़ता है। – Thanatos

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