将会记录一些和图片博客相关的内容,包括如何在有限的带宽和对象存储下尽可能提高图片质量和体验,色彩管理等。

如果你对这些内容也感兴趣,欢迎继续阅读或与我交流,否则,这部分内容对于大部分读者应当是“透明”的。

格式

AVIF 压缩参数和图片分辨率,文件大小还在调试中。

经过肉眼观测,4096px 的图片,500KB 的 avif 能够有不错的观感、加载速度和费用平衡。

OSS

考虑了一下阿里云 OSS,bucket 放在杭州,然后开着公共读的话,外网流量比较多,海外访问速度也一般。使用 CDN 的话需要域名备案,其实和放在 R2 再套 CDN 的麻烦程度没有区别。

阿里云同城冗余存储的费用是 0.15RMB 每月每 GB,R2 是 0.015USD 每月每 GB,还有 10GB 的免费额度。

最重要的是 R2 没有外网流量费用,虽然国内访问慢一点,但是不会钱包爆炸,所以暂时苦一苦国内,先用 R2,以后如果真的有很多国内读者,考虑套一个 CDN。

文章的具体形式

困难的是文章的文件名,因为它会成为 URL 的一部分,暂时就用主题加日期这样不优雅但相对高效的办法。

另外比较关键的是,也许不会有太多机会产出大量的单一题材图片(翻译成人话是没有太大段的旅游),太零碎的话也不好。所以暂定是在 summary 标出图片的数量(类似以前多图杀猫时代的 nP 标法)。附加一点简单的文字描述,组成一个图片为主的游记或者日记形式。

HDR

小红书都支持 HDR 图片了,我还在等什么?

好在既然用了浏览器,HDR 图片的支持可谓易如反掌,再加上一个开源项目即将完工,各种 HDR 图片格式之间的转换也不再是难题,初步的想法是用 PQ 传递函数的 AVIF(美其名曰 ISO-22028-5),苦一苦安卓用户。

色彩管理

某次面试的时候,面试官提到如何确保图片在每个人的终端上有一致的显示效果?

仔细思考,我的回答会是:也许做不到。因为终端设备的情况实在太过于复杂,每个设备的显示技术、颜色管理、用户设定都不同,很难保证一个“一致”的显示效果。举一个极端的例子,我见过相当一部分设备开着数个“电脑管家”提供的护眼模式,叠加之后的显示效果可想而知。

不过我能做到的是在内容提供端提供一个尽可能统一且兼容的方案,目前来看,可能会是 nclx 标识,他足够简单,足够轻量,测试来看浏览器的兼容性也很好。剩下的就是相信浏览器与系统的颜色管理。