Как конвертировать .ICO в .PNG?[закрыто]

StackOverflow https://stackoverflow.com/questions/37590

  •  09-06-2019
  •  | 
  •  

Вопрос

Какой инструмент я могу использовать для преобразования файла .ICO в файл .PNG?

Это было полезно?

Решение

Бесплатно: @icon суши очень хорош для работы с иконками:

Характеристики

  • icon sushi может конвертировать файлы изображений в файлы значков и наоборот.
  • Поддержка больших значков для Windows Vista.(преобразование большого изображения со сжатием в формате PNG)
  • Поддержка 32-разрядных значков Windows XP.
  • Поддержка нескольких значков, которые содержат несколько значков в файле.
  • Отредактируйте альфа-канал и маску прозрачности.
  • Откройте изображения размером от 1x1 до 256x256.
  • Откройте цветные изображения размером 1/4/8/24/32 бита.
  • Открыть:ICO/BMP/PNG/PSD/EXE/DLL/ICL, Конвертировать в:ICO/BMP/PNG/ICL
  • Копировать в / Вставить из буфера обмена.

Другие советы

У Google есть конвертер ico в png, я видел его на reddit другой день.

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

ImageMagick может конвертировать практически любой широко используемый формат изображения в другой.

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

см. http://www.imagemagick.org/script/convert.php в частности

Существуют привязки ImageMagick для большинства популярных языков.

Я сделал это таким образом, в C # хорошо справляется со своей работой

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

Примечание . Когда задавался этот вопрос, это было бесплатно, но, очевидно, это   платное приложение сейчас. @Sean Kearon должен изменить " правильный ответ " Теперь.

Вы можете использовать IcoFX (59 долларов)

  

Это универсальное решение для значка   создание, извлечение и редактирование. Это   предназначен для работы с Windows XP,   Значки Windows Vista и Macintosh   поддержка прозрачности.

ConvertICO.com всегда хорошо работал для меня.

Я не знаю, где бы я был без IrFanView . Фантастический для пакетного преобразования изображений, в том числе ICO в PNG.

В терминале на Mac:

convert favicon.ico favicon.png

Если кто-то захочет выполнить конвертацию с помощью Python Imaging Library ( PIL) в памяти из файла или 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

Одним из быстрых вариантов является загрузка Paint.net и установка Плагин Icon / Cursor . Затем вы можете открыть .ico файлы с помощью Paint.net, отредактировать их и сохранить в формате .png или другом формате.

Для пакетной обработки я поддерживаю предложения ImageMagick или IrFanView .

http://converticon.com/ также является кандидатом.

Ознакомьтесь с http://iconverticons.com/ - iConvert позволяет легко конвертировать Windows ico в Mac OS X icns, значки SVG для Windows, PNG ico для Mac OS X ico, изображения JPG для значков Windows и многое другое.

Вот некоторый код C # для этого, в значительной степени основанный на ответе на эту тему "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 - отличная графическая утилита для Windows / Mac / Linux (бесплатно) (< a href = "http://xnview.com/en/download.html" rel = "nofollow noreferrer"> страница загрузки ), которая позволит вам просматривать изображения, конвертировать, преобразовывать, изменять размер, вращать, делать снимки экрана и др.

Он может выполнять преобразование XYZ в ICO , где XYZ - это практически любой формат под солнцем.

альтернативный текст http://img443.imageshack.us/img443/672/convert .gif

http://www.gimp.org/

бесплатный и мощный способ заставить файлы .ico с большим разрешением 1024x1024 или выше работать, по крайней мере, с win7, я это тестировал :)

просто сохраните и введите .ico

:)

прозрачность - это просто, загрузите новое изображение и выберите дополнительные параметры, цвет фона-> прозрачность

Версия Paint, поставляемая с Windows 7, теперь преобразует значки в PNG, JPEG и т. д.

Я только что столкнулся с этой проблемой. К вашему сведению, откройте .ico краской и сохраните как .png Работал на меня!

http://convertico.org/ позволяет пользователям конвертировать несколько файлов ico в файлы PNG, GIF или JPG в один шаг.

Это, вероятно, довольно глупый ответ, но если вам нужен только один значок, вы можете просто сделать скриншот значка в папке и выделить нужную часть. Убедитесь, что значок показывает нужный размер и, конечно, белый фон.

Если вы используете приличное приложение для скриншотов, такое как SnagIt или WinSnap, привязка к региону должна позаботиться об этом в течение нескольких секунд.

Обратите внимание, что это не даст вам прозрачности.

Если вы не ищете что-то программное, просто напечатайте «Screen Screen» и обрежьте.

На сайте доступен http://www.html-kit.com/ инструмент для онлайн-конвертации. Favicon / . В дополнение к генерации .ico он также предоставит вам анимированную версию .gif .

Icon Convert - еще один онлайн-инструмент с возможностью изменения размера.

Другой альтернативой может быть IrfanView

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top