跳到正文

将ICO转换为PNG

一个.ico文件是同一张图片多个尺寸的集合,除了Windows和浏览器,没有别的软件打得开。把其中最大的一张取出来,存为透明PNG——用来编辑、放进文档或用在另一个网站上。不存储任何文件。

  • 绝不存储
  • 无需排队,无需等待
  • 无需注册,无水印

使用方法

1

添加.ico文件

从网站保存下来的favicon、从程序里提取的图标、设计师发来的文件。

2

转换

每个图标内最大的那张图片会被解码并写成PNG,透明背景保留。

3

下载

逐个保存或打包为ZIP。

.ico里面有什么

ICO是一个小小的目录,后面跟着几张尺寸和色深各不相同的图片:早年是16色或256色的16×16和32×32,如今通常是全32位色的16、32、48和256像素。各条记录要么存为带独立透明蒙版的Windows位图,要么——256像素及以上、自Vista起——存为内嵌的PNG。解码器挑出最大的那条记录,套上蒙版后交出它的像素,所以您得到的PNG就是这个文件里最好的一张图。

老图标的Alpha通道只有1位——像素要么有要么没有——九十年代16色图标的边缘在PNG里和当年屏幕上一样锯齿分明。现代图标带有完整的8位Alpha通道,边缘转过来是柔和的。过程中不做任何平滑或放大:PNG就是图标自己的像素。

从网站下载的favicon有时根本不是ICO,尽管名字如此——很多网站用favicon.ico这个名字提供的是PNG或SVG。文件按内容读取,所以这些也能解码;得到的就是它唯一那个尺寸的图片。

如果您需要的是别的

要取出图标里的每个尺寸而不只是最大的那张,ImageMagick的magick in.ico out.png会写出out-0.png、out-1.png等等,每条记录一张;icoutils的icotool -x在Linux上做同样的事,并且会先列出文件里有什么。程序里的图标可以用Windows上的Resource Hacker或icoutils的wrestool提取。

如果图标是用您还留着的素材做的,请回到素材:从图标里取出的256像素PNG就是分辨率的尽头,而SVG或原始PNG可以渲染成任意尺寸。

常见问题

输出的是哪个尺寸?

图标里最大的那个。现代favicon或Windows图标通常包含16、32、48,往往还有256像素的版本;您得到的是256像素那张,更小的几张——通常只是它的缩小版——不会单独提取。

透明背景会保留吗?

会。图标外形周围几乎总是透明的,PNG会原样保留这个Alpha通道。

为什么PNG很小,放大后就模糊?

因为图标里本来就只有小图。老的favicon可能最大只有32像素,任何转换都无法补上从未存在过的细节。如果您手上有原始素材——SVG或大尺寸PNG——请直接用它来转换。

能反过来转换吗?

可以:PNG转ICO工具能生成多尺寸的Windows图标,Favicon图标生成器则能生成网站需要的整套图标。

我的文件会被存储吗?

不会——任何环节都不存储任何文件。

.cur光标文件和图标库怎么办?

.cur是同一种容器加了一个热点坐标,改名为.ico后通常也能解码。.icl图标库或仍嵌在.exe里的图标不是图片文件;请先用图标工具把它提取出来。

小贴士: 每个图标只提取一张图片——最大的那张;内含的较小尺寸不会单独写出。嵌在程序(.exe、.dll)里的图标需要先提取。

把这个工具放到您的网站上

博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。