преобразование .PNG в .ICO в C / C # - PullRequest
4 голосов
/ 05 декабря 2011

Я хочу конвертировать файлы .PNG в файлы .ICO.Я хочу сделать это локально, без каких-либо интернет-зависимостей (поэтому я не могу использовать онлайн-инструменты, такие как converttoico.com и т. Д.).

Я нашел замечательный инструмент под названием png2ico, но у него есть ограничение, что он может толькоконвертировать изображения размером 1X1 в 256X256.Хотя сейчас я изменяю разрешение PNG (в C #) и сжимаю его до 256X256, а затем использую этот инструмент для преобразования его в значок, но качество изображения совсем не хорошее.

Любойзнаете ли вы какую-либо нативную библиотеку для этого или какой-либо инструмент (бесплатный или платный), который может мне помочь?

Спасибо.

Ответы [ 3 ]

34 голосов
/ 07 декабря 2012

Возможно, немного поздно, но вот какое-то c # решение этой проблемы:

using (FileStream stream = File.OpenWrite(@"C:\temp\test.ico"))
{
    Bitmap bitmap = (Bitmap)Image.FromFile(@"c:\temp\test.png");
    Icon.FromHandle(bitmap.GetHicon()).Save(stream);
}
4 голосов
/ 05 декабря 2011

Вы можете использовать библиотеку ImageMagick, которая может конвертировать png в ico, вы можете найти imageMagick для .NET здесь: http://imagemagick.codeplex.com/.

Если вам нужна программа, которую вы можете попробовать с IrFanViewв пакетном режиме ...

4 голосов
/ 05 декабря 2011

ImageMagick - самая удивительная утилита для манипуляции изображениями CLI:

convert image.png image.ico

Это так просто, и она работает практически с любым форматом, который вы выберете.

Кроме того, у него есть API для нескольких разных языков (C #, если я правильно помню).

...