Home / PostsPost
Shalog - 图片处理功能
嘟噜聪2020/03/18 16:12:55
[Shalog]
[Image]
[七牛]
3506人已阅
简介 作为个人博客或站点来使用本系统,当然需要支持图片处理功能。本系统的图片处理与七牛云的图片处理功能类似,都是在图片后面添加相应的参数对图片进行切割或压缩。若想直接使用七牛去作为镜像存储、资源处理,也
作为个人博客或站点来使用本系统,当然需要支持图片处理功能。本系统的图片处理与七牛云的图片处理功能类似,都是在图片后面添加相应的参数对图片进行切割或压缩。若想直接使用七牛去作为镜像存储、资源处理,也不用修改代码,只需在后台修改个参数就好,这个后面再讲。
项目简介
Shalog是一个基于Golang开源的轻量级内容管理系统,告别PHP类的繁琐的部署方式,超底的资源占用率,并且支持图床功能当然也可以使用七牛作为存储方式。
项目开源地址:https://github.com/icowan/shalog
Demo: https://shalog.nsini.com
图片基本处理
项目默认使用的是本地处理图片,对CPU要求比较高,若想使用七牛镜像,资源只需要将启动参数设置为:
/go/bin/shalog start -p :8080 -c /etc/shalog/app.cfg -i remote
然后在后台系统配置里配置七牛的地址,然后重启动服务。
下文来自己七牛云api说明
imageView2
提供简单快捷的图片格式转换、缩略、剪裁功能。只需要填写几个参数,即可对图片进行缩略操作,生成各种缩略图。imageView2
接口可支持处理的原图片格式有jpeg、png、jpeg。
注意:imageView2 接口若处理有问题,则会直接返回原图。
接口规格
目前只实现了需要的功能。
注意:接口规格不含任何空格与换行符。
imageView2/<mode>/w/<LongEdge>
/h/<ShortEdge>
/q/<Quality>
其中 <mode>
分为如下几种情况:
模式 | 说明 |
---|---|
/1/w/<Width>/h/<Height> |
限定缩略图的宽最少为<Width> ,高最少为<Height> ,进行等比缩放,居中裁剪。转后的缩略图通常恰好是 <Width>x<Height> 的大小(有一个边缩放的时候会因为超出矩形框而被裁剪掉多余部分)。如果只指定 w 参数或只指定 h 参数,代表限定为长宽相等的正方图。 |
/2/w/<Width>/h/<Height> |
限定缩略图的宽最多为<Width> ,高最多为<Height> ,进行等比缩放,不裁剪。如果只指定 w 参数则表示限定宽(高自适应),只指定 h 参数则表示限定高(宽自适应)。它和模式0类似,区别只是限定宽和高,不是限定长边和短边。从应用场景来说,模式0适合移动设备上做缩略图,模式2适合PC上做缩略图。 |
注意:
- 可以仅指定w参数或h参数。
- 新图的宽/高/长边/短边,不会比原图大,即本接口总是缩小图片。
- 所有模式都可以只指定w参数或只指定h参数,并获得合理结果。在w、h为限定最大值时,未指定某参数等价于将该参数设置为无穷大(自适应);在w、h为限定最小值时,未指定参数等于给定的参数,也就限定的矩形是正方形。
- 处理后的图片w和h参数不能超过9999像素,总像素不得超过24999999(2500w-1)像素。
- 处理前的图片w和h参数不能超过3万像素,总像素不能超过1.5亿像素。
参数名称 | 必填 | 说明 |
---|---|---|
/q/<Quality> |
新图的图片质量 取值范围是[1, 100],默认75 七牛会根据原图质量算出一个修正值,取修正值和指定值中的小值。 注意: ● 指定值后面可以增加 !,表示强制使用指定值,如100!。 ● 支持图片类型:jpg。 |
<Quality>
修正值算法:
- 原图 quality <= 90: min[90, 原图quality*sqrt(原图长宽乘积/结果图片长宽乘积)]
- 原图 quality > 90: 原图quality*sqrt(原图长宽乘积/结果图片长宽乘积)
示例
实时
裁剪正中部分,等比缩小生成200x200缩略图:
/storage/2020/03/4c/cb/7a/20200314-09f617c10276a4b5724871a5cba4cc3f.jpeg?imageView2/1/w/200/h/200/q/70
宽度固定为200px,高度等比缩小,生成宽度为200缩略图:
/storage/2020/03/4c/cb/7a/20200314-09f617c10276a4b5724871a5cba4cc3f.jpeg?imageView2/2/w/200/q/70
高度固定为200px,宽度等比缩小,生成高度为200缩略图:
/storage/2020/03/4c/cb/7a/20200314-09f617c10276a4b5724871a5cba4cc3f.jpeg?imageView2/2/h/200/q/70
实际渲染好的图片会与当前图片存在一个位置,并且以{image name}-
- x - 的规则进行存储,下次请求如果图片存在则返回,不存在则进行生成再返回。
尾巴
参考了七牛的图像处理方案,有了它以后图片处理就更加方便了。
不用我说了,大家都懂的。您的恩赐就是我更新的动力
很赞哦! (3)
上一篇:Shalog - 友链申请及审核