EXTRACT

ICO 转 PNG

一个图标文件里同时装着好几个尺寸。把它们全拿走,而不只是浏览器替你挑的那一张。

EXTRACT

☞ 全程在你的浏览器中运行 —— 不会上传任何图片

把 ICO 放到这里

最大 20 MB —— 从不离开你的设备

一个文件,多个图标

图标文件是个容器

.ico 不是一张图。它是个小小的归档,把同一份图形按好几种分辨率装在一起 —— 通常是 16、32、48 像素,有时到 256 —— 好让 Windows 和浏览器各自挑一个适合当前绘制位置的。这也是为什么网站图标在标签页里和在桌面快捷方式上都很清晰:它们不是同一张图缩放出来的,而是不同的图。

麻烦在于:**凡是能打开 .ico 的东西,都只挑一张、把其余全丢掉**。把它拖进图片编辑器或浏览器标签页,你只会得到一个分辨率(通常是最大的那个),甚至看不出还有别的存在。这个工具打开容器本身,把找到的每个尺寸都摊开摆好 —— 于是你能拿走那张为 16 像素专门手绘的版本,而不是把 48 缩糊了的产物。

三步

怎么把 ICO 转成 PNG

01

放进 ICO

容器在你的浏览器里解析。每个条目都会被解码,并以看得清的大小展示,从大到小排列。

02

挑你要的尺寸

一开始是全选的。点任意一格可以去掉它 —— 比如你只要 256 像素那张去上架应用商店。

03

下载

只有一个尺寸就直接下 PNG。多个会打成 ZIP,每个文件名里带着尺寸。

快速解答

ICO 转 PNG 常见问题

为什么这里显示好几个尺寸,别的地方只有一个?

因为别的地方都在替你挑。浏览器画网站图标时、编辑器打开这个文件时,都会取它认为最合适的那一条,其余的连提都不提。拿 python.org 的网站图标实测:浏览器的图片元素只返回 48 像素那张,而文件里实际装着 16、32、48 三张。直接读容器是看到全部的唯一办法。

转换会掉画质吗?

没有实质损失。图标在容器里要么是一份完整的 PNG,要么是一张未压缩的位图。**PNG 条目会原样交给你,逐字节与存进去时相同,完全不重新编码**;位图条目本身也是无损的,写成 PNG 同样保住每一个像素。

为什么小尺寸看起来是另一张图,而不只是变小?

因为它通常真的是另一张。16 像素放不下在 48 上才成立的细节,所以图标设计者是**重画**而不是缩小 —— 线条更粗、元素更少,有时构图完全不同。把它们分开取出来,才拿得到真正为那个尺寸画的那一版。

透明保得住吗?

保得住。老图标把透明存在一张独立的掩码里而不是 alpha 通道,两种形式都处理了。有一个很常见的怪现象:32 位图标的 alpha 通道整片是 0,真正的透明信息在掩码里 —— 照字面读会得到一张**完全看不见**的图,所以一旦发现 alpha 通道是空的就回退到掩码。

能反过来生成 ICO 吗?

能,用「图片转图标」那个工具,它会做出一个多尺寸的 .ico,外加一整套网站图标文件。这个页面只做反方向。

会上传吗?

不会。容器由这个页面上的 JavaScript 解析、图片也在本地解码,下载文件是在本地拼出来的。什么都不会到服务器 —— 这也是它离线还能用的原因。