写了个图片处理程序,已开源

日期 : 2020-11-09 15:29:53作者 : lufei

用腾讯云 cos 有个功能一直挺想要的,在图片文件网址后面添加参数就直接生成新图片,比如:

  1. https://img.addfn.cn/test.jpg__300x300.png
复制代码



在 test.jpg  后添加 __300x300.png 就能得到 300x300 的 PNG 图片。

我图片都是直接用文件系统管理,自己 SFTP 用着感觉还行,装个图床太麻烦了,很多图床也没这功能。

为此我用 Python 写了个开源的图片处理程序, Github:https://github.com/veoco/AddIMGAddIMG[/url],需要配合 Nginx 使用。

自我感觉还是挺适合个人图床使用的,计划后面添加 Web 上传应该就完美了。

目前仅支持在网址中调节分辨率和图片格式,图片质量需要在配置文件中修改。

程序部署:

推荐使用 Ubuntu 20.04 + Gunicorn +Nginx,手动部署文档:https://github.com/veoco/AddIMG/blob/master/deploy_cn.md传送门[/url]

Docker、脚本啥的我也不熟,以后有机会再弄吧......


原理方面:

当正常请求图片:

  1. https://img.addfn.cn/test.jpg
复制代码



Nginx 找到图片后直接返回,无需担心性能。当有参数时:

  1. https://img.addfn.cn/test.jpg__300x300.png
复制代码



Nginx 找不到图片,再转给 AddIMG 处理,在内存生成新图片后返回。

建议流量较大的话在前面套一层CDN,或者通过配置文件限制参数。

可以用 MAX_SIZE 限制分辨率,或者直接开启 WHITELIST 白名单,只允许指定的分辨率配置。


演示地址:

上面有,这里提供:https://www.hostloc.comhostloc-自定义文本测试[/url]。

用 Olink 德国小鸡搭的,这机子现在还不太稳,正好用来干这个。

标签 :