'converting .PNG to .ICO in C/C# [closed]

I want to convert .PNG files to .ICO files. I want to do it locally with out any internet dependency (so I can't use online tools like converttoico.com etc).

I found a wonderful tool called png2ico, but it has a restriction that it can only convert images of size 1X1 to 256X256. Although for now, I am modifying the PNG resolution (in C#) and compressing it to 256X256, and then using this tool to convert it to icon, but the image quality is not good at all.

Does any one know of any native library for doing this or any tool (free or paid) that can help me?

Thank you.



Solution 1:[1]

Probably a little bit late, but here“s some c# solution to this:

using (FileStream stream = File.OpenWrite(@"C:\temp\test.ico"))
{
    Bitmap bitmap = (Bitmap)Image.FromFile(@"c:\temp\test.png");
    Icon.FromHandle(bitmap.GetHicon()).Save(stream);
}

Solution 2:[2]

ImageMagick is the most awesome CLI image manipulation utility ever made:

convert image.png image.ico

It's that easy, and it works with virtually every format you throw at it.

Also, it has APIs for a quite a few different languages (C#, if I remember correctly).

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 efkah
Solution 2