之前使用 Cloudflare Worker 处理图片,由于 Worker 的免费版本只能占用 10ms CPU,经常资源超出占用,裂图频率很高。刚好今天有空,就适配了 Vercel Edge,分享出来有兴趣的可一起探索。
Vercel 官方版本也支持处理图片,但是限制 1000 张原图/月,支持缩放。使用 Vercel Edge 处理图片,可以支持缩放、剪裁、水印、滤镜等功能。但是 Vercel 免费版每月只用 100G 流量,真实使用建议套一个 CDN。
支持特性:
- 支持 PNG、JPG、BMP、ICO、TIFF 格式图片处理
- 可输出 JPG、PNG、WEBP 格式图片,默认输出 WEBP 格式图片
- 支持管道,可以执行多个操作
- 支持图片地址白名单,防滥用
- 异常降级,如果处理失败返回原图 (异常场景不缓存)
演示
格式转换
webp
jpg
png
缩放
旋转
剪裁
滤镜
图片水印
文字水印
管道操作
缩放+旋转+文字水印
缩放+图片水印
理论上支持 Photon 的各种操作,有兴趣的可以查看图片地址,按照 Photon 文档修改参数自己尝试。如果发现异常可以评论反馈给我。
分享
此方案已经开源在我的 GitHub,有需要的可以按照文档部署。