Domanda

Quale strumento posso utilizzare per convertire un file .ICO in un file .PNG?

È stato utile?

Soluzione

Gratuito: @iconasushi è molto utile per lavorare con le icone:

Caratteristiche

  • icon sushi può convertire file di immagine in file di icone e viceversa.
  • Supporto per le icone grandi di Windows Vista.(converti immagine di grandi dimensioni con compressione PNG)
  • Supporto per le icone di Windows XP a 32 bit.
  • Supporto per Multiple-Icon che contiene alcune icone in un file.
  • Modifica il canale alfa e la maschera di trasparenza.
  • Apri immagini con dimensioni da 1x1 a 256x256.
  • Apri immagini a colori a 1/4/8/24/32 bit.
  • Aprire:ICO/BMP/PNG/PSD/EXE/DLL/ICL, Converti in:ICO/BMP/PNG/ICL
  • Copia/incolla dagli Appunti.

Altri suggerimenti

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

ImageMagick può convertire praticamente qualsiasi formato immagine ampiamente utilizzato in un altro.

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

Vedere http://www.imagemagick.org/script/convert.php in particolare

Esistono collegamenti ImageMagick per le lingue più popolari.

L'ho fatto in questo modo in C# e fa bene il lavoro

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

Nota:Questo era gratuito quando è stata posta questa domanda, ma a quanto pare è un'app a pagamento ora.@Sean Kearon dovrebbe cambiare la "risposta corretta" ora.

Puoi usare IcoFX ($59)

È una soluzione all-in-one per la creazione, l'estrazione e l'editing per icona.È progettato per funzionare con le icone di Windows XP, Windows Vista e Macintosh che supportano la trasparenza.

ConvertICO.com ha sempre funzionato bene per me.

Non so dove sarei senza IrFanView.Fantastico per la conversione in batch di immagini, incluso ico in png.

Nel terminale su mac:

convert favicon.ico favicon.png

Nel caso qualcuno voglia convertirsi con Libreria di immagini Python (PIL) in memoria da un file o un URL

from cStringIO import StringIO
import Image
import urllib

def to_png(path, mime="png"):
    if path.startswith("http:"):
        url = urllib.quote(url)
        input = StringIO()
        input.write(urllib.urlopen(url).read())
        input.seek(0)
    else:
        input = open(path).read()

    if input:
        out  = StringIO()
        image = Image.open(input)
        image.save(out, mime.upper())
        return out.getvalue()
    else:
        return None

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

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

http://converticon.com/ è anche un candidato.

Guardare http://iconverticons.com/ - iConvert ti consente di convertire facilmente l'ico di Windows in icone di Mac OS X, SVG in icone di Windows, ico PNG in ico di Mac OS X, immagini JPG in icone di Windows e molto altro.

Ecco del codice C# per farlo, basato in gran parte sulla risposta su questo thread di "Peter".(Se trovi utile questa risposta, vota la risposta di Peter.)

  /// <summary>
  /// Method to extract all of the images in an ICO file as a set of PNG files. The extracted 
  /// images are written to the same disk folder as the input file, with extended filenames 
  /// indicating the size of the image (16x16, 32x32, etc.) and the bit depth of the original 
  /// image (typically 32, but may be 8 or 4 for some images in old ICO files, or even in new 
  /// ICO files that are intended to be usable in very old Windows systems). But note that the 
  /// PNG files themselves always have bit depth 32 - the bit depth indication only refers to 
  /// the source image that the PNG was created from. Note also that there seems to be a bug 
  /// that makes images larger than 48 x 48 and with color depth less than 32 non-functional.
  /// 
  /// This code is very much based on the answer by "Peter" on this thread: 
  /// http://stackoverflow.com/questions/37590/how-to-convert-ico-to-png
  /// 
  /// Plus information about how to get the color depth of the "frames" in the icon found here:
  /// http://social.msdn.microsoft.com/Forums/en-US/e46a9ad8-d65e-4aad-92c0-04d57d415065/a-bug-that-renders-iconbitmapdecoder-useless
  /// </summary>
  /// <param name="iconFileName">full path and filename of the ICO file</param>
  private static void ExtractImagesFromIconFile(string iconFileName)
  {
     try
     {
        using (Stream iconStream = new FileStream(iconFileName, FileMode.Open))
        {
           IconBitmapDecoder bitmapDecoder = new IconBitmapDecoder(iconStream, 
                               BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None);

           foreach (BitmapFrame bitmapFrame in bitmapDecoder.Frames)
           {
              int iconSize = bitmapFrame.PixelHeight;
              int bitDepth = bitmapFrame.Thumbnail.Format.BitsPerPixel;
              string pngFileName = Path.GetDirectoryName(iconFileName) + 
                                   Path.DirectorySeparatorChar +
                                   Path.GetFileNameWithoutExtension(iconFileName) + "-" +
                                   iconSize + "x" + iconSize + "-" + bitDepth + ".png";
              using (Stream saveStream = new FileStream(pngFileName, FileMode.Create))
              {
                 BitmapEncoder bitmapEncoder = new PngBitmapEncoder();
                 bitmapEncoder.Frames.Add(bitmapFrame);
                 bitmapEncoder.Save(saveStream);
              }
           }
        }
     }
     catch (Exception ex)
     {
        MessageBox.Show("Unable to extract PNGs from ICO file: " + ex.Message,
                       "ExtractImagesFromIconFile", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
  }

XnView è un'ottima utility grafica per Windows/Mac/Linux (gratuita) (pagina di download) che ti consentirà di sfogliare immagini, convertire in batch, trasformare, ridimensionare, ruotare, acquisire schermate ecc.

Può fare il tuo XYZ A ICO conversione in cui XYZ è quasi qualsiasi formato sotto il sole.

testo alternativo http://img443.imageshack.us/img443/672/convert.gif

http://www.gimp.org/

un modo gratuito e potente per far funzionare file .ico di grande risoluzione 1024x1024 o superiore almeno con Win7, l'ho provato :)

basta salvare e digitare .ico

:)

la trasparenza è semplice, carica una nuova immagine e seleziona opzioni avanzate, colore di sfondo->trasparenza

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

Ho appena riscontrato questo problema.Per tua informazione apri il .ico in paint e salva come .png.Ha funzionato per me!

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

Questa è probabilmente una risposta piuttosto sciocca, ma se ti serve solo un'icona, potresti semplicemente fare uno screenshot dell'icona nella cartella e ritagliare la parte che desideri.Assicurati che l'icona mostri la dimensione desiderata e abbia uno sfondo bianco, ovviamente.

Se stai utilizzando un'applicazione per screenshot decente come SnagIt o WinSnap, uno snap alla regione dovrebbe occuparsene in pochi secondi.

Tieni presente che questo non ti darà trasparenza.

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

È disponibile uno strumento di conversione online all'indirizzo http://www.html-kit.com/favicon/.Oltre a generare il .ico ti darà anche un animato .gif versione.

Icona Converti è un altro strumento online con opzione di ridimensionamento.

Un'altra alternativa sarebbe IrfanView

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top