[Graphics] Come convertire .ICO in .PNG?


Answers

Google ha un convertitore da ico a png, l'ho visto su reddit l'altro giorno.

http://www.google.com/s2/favicons?domain=stackoverflow.com

Question

Che strumenti posso utilizzare per convertire un file .ICO in un file .PNG?










Se non stai cercando qualcosa di programmatico, basta "Stampa schermo" e ritaglia.




Icon Convert è un altro strumento online con l'opzione di ridimensionamento.




Un'opzione rapida è scaricare Paint.net e installare il plug-in Icon / Cursor . È quindi possibile aprire i file .ico con Paint.net, modificarli e salvarli in .png o in un altro formato.

Per l'elaborazione in batch, applico i suggerimenti di ImageMagick o IrFanView .







Nel terminale su mac:

convert favicon.ico favicon.png



http://convertico.org/ consente agli utenti di convertire più file ico in file PNG, GIF o JPG in un unico passaggio.




L'ho fatto in questo modo in C # funziona bene

#region Usings

using System;
using System.IO;
using System.Linq;
// Next namespace requires a reference to PresentationCore
using System.Windows.Media.Imaging;

#endregion

namespace Imagetool
{
internal class Program
{
    private static void Main(string[] args)
    {
        new Ico2Png().Run(@"C:\Icons\",
                          @"C:\Icons\out\");
    }
}

public class Ico2Png
{
    public void Run(string inPath, string outPath)
    {
        if (!Directory.Exists(inPath))
        {
            throw new Exception("In Path does not exist");
        }

        if (!Directory.Exists(outPath))
        {
            Directory.CreateDirectory(outPath);
        }


        var files = Directory.GetFiles(inPath, "*.ico");
        foreach (var filepath in files.Take(10))
        {
            Stream iconStream = new FileStream(filepath, FileMode.Open);
            var decoder = new IconBitmapDecoder(
                iconStream,
                BitmapCreateOptions.PreservePixelFormat,
                BitmapCacheOption.None);

            var fileName = Path.GetFileName(filepath);

            // loop through images inside the file
            foreach (var frame in decoder.Frames)
            {
                // save file as PNG
                BitmapEncoder encoder = new PngBitmapEncoder();
                encoder.Frames.Add(frame);
                var size = frame.PixelHeight;

                // haven't tested the next lines - include them for bitdepth
                // See RenniePet's answer for details
                // var depth = frame.Thumbnail.Format.BitsPerPixel;
                // var path = outPath + fileName + size + depth +".png";

                var path = outPath + fileName + size + ".png";
                using (Stream saveStream = new FileStream(path, FileMode.Create))
                {
                    encoder.Save(saveStream);
                }
            }
        }
    }
}
}



La versione di Paint fornita con Windows 7 convertirà le icone in PNG, JPEG, ecc ... ora.