kelvinct
012 · 贴图包

把 LINE 贴图包里的贴图拿出来。

粘贴 LINE 贴图小铺的链接,就能把整包贴图变成透明 PNG,尺寸是 LINE 提供的最大版本,打包成一个 ZIP。图片是从 LINE 自己的图片服务器直接送到你的设备:全程在你的浏览器完成,不上传任何数据,也不会经过我这边的任何服务器。

支持 store.line.me 的贴图包,或 App 里的分享链接。只贴一组数字,例如 1029149,也没问题。表情贴不支持——LINE 把它放在这个页面读不到的地方。

手气不错?

文件到底是从哪里来的?

从 LINE 自己的图片服务器,直接送到你的设备。这个页面没有后端:它读取贴图包的公开清单,逐张抓图,再在你浏览器的内存里打包成 ZIP。没有上传、没有中转,kelvinct.com 上也不会留下任何一份副本。而且这是这个页面唯一被允许连出去的地址——源代码里的 connect-src 政策只写了一个主机,所以没有分析工具、没有 CDN、没有第三方在旁边看。打开浏览器的「网络」分页就能验证。

为什么不能直接按右键存盘?

LINE 贴图小铺是用 CSS 背景图排出那面贴图墙的,根本没有东西可以按右键,而且你看到的缩略图是小尺寸版本。这个工具会一次把整包每一张都抓成 370×320,也就是 LINE 公开的最大尺寸。

PNG 真的一个字节都没动吗?

没动,而这正是重点。LINE 的贴图是索引色 PNG,透明度存放在 tRNS 区块里,那里可以放柔和的逐像素透明度——正因为如此,抗锯齿的边缘放在任何背景上都很干净。如果拿去 canvas 重画,文件就会被重新编码,那些边缘有可能被压成一圈白边,所以这个工具从不那样做:它把收到的字节原封不动写进 ZIP。你拿到的文件,就是 LINE 送出来的那一个。

动态贴图包会怎么处理?

动态贴图其实是 APNG,也就是在一般 PNG 后面接上额外影格。这个页面是直接在实际字节里找 acTL 区块来判断,而不是相信贴图包的中继数据,因为比较旧的贴图包根本不会标示。你可以原样保留 APNG、转成到处都能播的 GIF,或两种都拿。GIF 转档是唯一会重建字节的地方,而它一样在你的浏览器里完成。