शायद यह हल करने में एक बहुत ही आसान समस्या है लेकिन मुझे अभी तक सही समाधान नहीं मिला है। मैं के साथ सी # इको करने के लिए एक png कन्वर्ट करने के लिए कोशिश कर रहा हूँ और सवाल converting .PNG to .ICO in C/C# जो एक तरह से नीचे के रूप में काम कर रहे समाधान देता है पाया:पीएनजी को उच्च गुणवत्ता में परिवर्तित करें ico
:using (FileStream stream = File.OpenWrite(@"C:\temp\test.ico"))
{
Bitmap bitmap = (Bitmap)Image.FromFile(@"c:\temp\test.png");
Icon.FromHandle(bitmap.GetHicon()).Save(stream);
}
अपने ही परियोजना के लिए मैं थोड़ा इस दृष्टिकोण को बदल दिया है
string pngFile = "path/to/pngfile";
using (Bitmap bitmap = new Bitmap(pngFile))
{
using (Icon icon = Icon.FromHandle(bitmap.GetHicon()))
{
using (MemoryStream stream = new MemoryStream())
{
icon.Save(stream);
// something interesting with icon here
}
}
}
समस्या जो मैं अनुभव कर रहा हूं वह यह है कि परिणामी आईको खराब गुणवत्ता का है, मुझे लगता है कि इसे 16x16 में बदल दिया गया है और इसकी कुछ रंग गहराई खो गई है, शायद अब केवल 16 रंग हैं? मैं उच्च गुणवत्ता वाले आईसीओ फ़ाइल में कैसे परिवर्तित कर सकता हूं?
आप कोशिश कर सकते हैं: https://gist.github.com/darkfall/1656050। मैं आपको बता सकता हूं कि आपको 'गेटहिकॉन' की तुलना में कुछ और मजबूत की आवश्यकता होगी क्योंकि यह एक त्वरित और गंदे विधि है, और इसका मतलब किसी भी तरह से लापरवाही नहीं है। – DonBoitnott
@DonBoitnott कृपया अपनी टिप्पणी को एक उत्तर के रूप में पोस्ट करें। मैं इसे आपके सुझाव के साथ काम करने के लिए उलझ गया और मुझे विश्वास है कि यह सही जवाब है। – Bazzz