曾经使用过百度的图片缓存服务,不仅使用方便而且还能白嫖CDN。今天看到一个开源项目weserv/images,它是一个缓存和调整图像尺寸的服务。 C++ 编写,使用了 Nginx、libvips 和 Cloudflare 等技术。它具备调整图像大小和加速访问的功能,支持多种图像格式,包括 JPEG、PNG、BMP、GIF、TIFF、WebP、PDF 和 SVG 等。
GitHub项目地址:https://github.com/weserv/images
官方文档:https://wsrv.nl/docs/introduction.html
参数详情
名称 | 参数 | 描述 |
---|---|---|
宽度 | w | 图像设置的宽度(以像素为单位)。 |
高度 | h | 图像设置的高度(以像素为单位)。 |
设备像素比 | dpr | 设置图像的输出浓度。 |
合身 | fit | 图像设置如何适合其目标尺寸。 |
包含背景 | cbg | 设置使用时的背景颜色&fit=contain 。 |
无放大 | we | 不要放大图像。 |
阵地位置 | a | 图像设置的对齐方式。 |
形状 | crop | 将图像为特定尺寸。 |
预调整尺寸大小 | precrop | 预调整尺寸行为。 |
切口 | trim | 修剪所有边缘的“无聊”像素。 |
掩蔽 | mask | 从预定义列表中设置预留码类型。 |
屏幕面积 | mtrim | 删除蒙版中剩余的空白。 |
概要背景 | mbg | 设置蒙版的背景颜色。 |
翻动 | flip | 围绕x轴垂直(上下)镜像。 |
翻牌 | flop | 围绕 y 轴水平(左右)镜像图像。 |
回转 | ro | 图像旋转。 |
旋转背景 | rbg | 设置旋转任何角度时的背景颜色。 |
背景 | bg | 设置图像的背景颜色。 |
模糊 | blur | 为图像添加模糊效果。 |
对比 | con | 调整图像驱动。 |
筛选 | filt | 对图像应用过滤效果。 |
伽玛 | gam | 图像调整伽马值。 |
调制 | mod | 利用亮度、透明度和色调旋转来变换图像。 |
堰 | sat | 调整图像的阀门尺寸。 |
色相旋转 | hue | 对图像应用色调旋转。 |
锐化 | sharp | 锐化图像。 |
着色 | tint | 对图像进行着色。 |
自适应滤波器 | af | 可以在压缩之前应用过滤算法。 |
Base64(数据网址) | encoding | src= 对要直接在-tag中使用的图像进行编码<img> 。 |
存储控制 | maxage | 浏览器应存储图像多长时间。 |
压缩级别 | l | zlib 压缩级别。 |
无损压缩 | ll | 生成的图像是否应进行无损压缩。 |
默认图片 | default | 当加载图像出现问题时重定向到图像默认。 |
文件名 | filename | 指定文件名。 |
隔行扫描/逐行扫描 | il | 为 GIF 和 PNG 添加隔行扫描。JPEG 网格渐进式。 |
页数 | n | 选择要渲染的页数。 |
输出 | output | 将图像编码为特定格式。 |
页 | page | 加载给定页面。 |
质量 | q | 定义图像的质量。 |
简单使用
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png
限制宽高
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&w=220&h=150
注意:如果 URL 包含查询字符串,则需要确保它经过正确的 URL 编码,分别替换?
为%3F
和&
为%26
。
转换为base64编码
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&crop=100,100,720,530&encoding=base64
缓存控制
定义浏览器应存储图像的时间长度。这将改变HTTP 标头max-age
的。Cache-Control
默认到期时间设定为1年。可以使用以下后缀以天、周、月和年为单位指定持续时间:
d
: 天w
: 周、7 天M
:几个月,30天y
:年,365天
1d
持续时间必须在(1天)到(1年)范围内1y
(含1天和1年)。任何其他值都将被忽略并回退到默认值1年。
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&maxage=31d
图像压缩
zlib 压缩级别。0
使用(无压缩)和9
(最大程度压缩)之间的值。默认值为6
。仅当输出图像为 时才有效png
。
默认图像
如果图像不可用,将展示默认图像
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&default=wsrv.nl/placeholder.svg
注意:被处理的图像url中不能携带default参数,有也会被忽略。
隔行扫描/逐行扫描
狗哥最喜欢的功能,渐进式图片展现,非常适合大图片的缓存。
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&il
修改输出格式
无需本地转换图像,自动变更为需要的图像格式。
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&output=webp
图像质量
定义图像的质量。使用1
和之间的值默认。为100
。80
仅当输出图像为jpg
,tiff
或webp
时才有效。
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&q=20
该服务已经使用了cloudflare进行免费cdn缓存,所以放心使用,不放心的可以自己使用源码部署!
评论 (4)