双面 PNG
AZUMI LAB / POLYGLOT-PNG
一张封面,两种读法
点开是一张夜景,拆开能听见六声铃。两个后缀共用同一份字节。
装入自己的文件
在浏览器本地打包。封面保留原来的像素,附件按原样存进 ZIP。
用演示试一遍,或选一张 PNG 和自己的附件。
打开这封信
图像视图
ZIP 的附件目录
两个下载内容相同。也可以下载 PNG 后复制一份,改名为 .zip,在系统解压工具中打开。
同一份文件,为什么能打开两次?
看图软件从文件头读取 PNG 像素,会跳过自定义的 azIp 数据块。解压软件从文件尾找到 ZIP 目录,按偏移读取附件。图片结尾的 16 字节同时充当 ZIP 注释。重新截图、压缩图片或转成 JPEG 会丢失附件,分享时请选择原文件。
本页参考 David Buchanan 的 tweetable-polyglot-png。原作把载荷写入 IDAT 压缩流的末尾,本页独立实现浏览器版 PNG+ZIP,并将归档放在单独的 PNG 辅助块中。上游 MIT 许可
