Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

converting .PNG to .ICO in C/C#

Tags:

c#

icons

png

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.

like image 397
Vikram.exe Avatar asked Dec 05 '11 05:12

Vikram.exe


3 Answers

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);
}
like image 131
efkah Avatar answered Nov 14 '22 11:11

efkah


You can use ImageMagick library that can convert png to ico , you can find imageMagick for .NET here : http://imagemagick.codeplex.com/ .

If you need a program to do that you can try with IrFanView in batch mode ...

like image 43
aleroot Avatar answered Nov 14 '22 12:11

aleroot


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).

like image 5
Blender Avatar answered Nov 14 '22 11:11

Blender