78 votes

Comment faire pour convertir .ICO .PNG?

Quel outil puis-je utiliser pour convertir un .Fichier ICO pour une .Fichier PNG?

82voto

Akira Points 1061

Google a un ico convertisseur png, je l'ai vu sur reddit , l'autre jour.

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

41voto

Philip Reynolds Points 5118

ImageMagick peut convertir pratiquement n'importe quelle largement utilisé le format d'image à l'autre.

http://www.imagemagick.org/script/index.php

voir http://www.imagemagick.org/script/convert.php en particulier

Il y a ImageMagick bindigs pour la plupart des langues populaires.

40voto

Peter Points 2471

J'ai fait de cette façon en C# ne fera très bien l'affaire

#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);
                }
            }
        }
    }
}
}

30voto

jfs Points 13605

Remarque: Ce n'était libre lorsque cette question a été posée mais apparemment, c'est un payantes de l'app maintenant. @Sean Kearon devrait changer la "bonne réponse" maintenant.

Vous pouvez utiliser IcoFX ($59)

Il est un tout-en-un solution pour l'icône la création, l'extraction et l'édition. Il est conçu pour fonctionner avec Windows XP, Windows Vista et Macintosh icônes soutien à la transparence.

20voto

Sam Hasler Points 10253

Gratuit: @icon sushi est très bon pour le travail avec des icônes:

Caractéristiques

  • icône de sushi qui peut convertir des fichiers image dans les fichiers d'icône et vice versa.
  • Le Support de Windows Vista grandes icônes. (convertir image grand avec compression PNG)
  • Le Support de Windows XP 32bit Icônes.
  • Support pour de Multiples Icône qui contient des icônes dans un fichier.
  • Modifier le canal Alpha et de la Transparence-Masque.
  • Ouvrir 1x1 à 256x256 taille des images.
  • Ouvrir 1/4/8/24/32bits images en couleur.
  • Ouvert: ICO/BMP/PNG/PSD/EXE/DLL/ICL, Convertir en: ICO/BMP/PNG/ICL
  • Copier / Coller à partir du presse-papiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X