将最多3MB的数据打包成一个可推文的PNG多格式文件。
在此查看实际效果:https://twitter.com/David3141593/status/1371974874856587268

我已经验证过此技术可用的其他图片托管平台:
Imgur (https://i.imgur.com/kNhGrN3.png)
Github仓库缩略图/标题图片 (https://repository-images.githubusercontent.com/348501512/06710f00-8886-11eb-95d1-3f416fa3853a)
Discord (这不奇怪,因为它们本来就可以上传任意文件) (https://cdn.discordapp.com/attachments/464905259261755392/823171702170845199/06710f00-8886-11eb-95d1-3f416fa3853a.png)
我已确认无法使用的图片托管平台:
Twitter会从PNG上传中移除不必要的数据,但只要整个图像文件满足避免重新编码的要求,它们不会移除IDAT块中DEFLATE流的尾部数据。
不知道。
封面图像必须压缩良好,使得压缩后的大小小于 (宽度 * 高度) - 嵌入文件大小。如果封面图像没有调色板,则它必须至少有257种独特颜色(否则Twitter会将其优化为使用调色板)。
分辨率最高可达4096x4096,但请注意,对于大于680x680的图像,Twitter默认会提供缩小版本(具体取决于你的显示DPI等)。
图像不应包含任何不必要的元数据块。我在GIMP中使用了以下导出设置:

输出文件总大小必须小于3MB(可能5MB?),否则Twitter会将PNG转换为JPEG。
如果嵌入文件是 .zip,则偏移量会自动调整,使得整个文件仍然是有效的zip文件。对于任何其他文件格式,你需要自行处理(许多格式无需特殊处理即可工作,特别是 .pdf、.mp3)。