让代码更简单

[GitHub精选]图像缓存/处理服务

重要:本文最后更新于2024-03-25 19:11:09,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

曾经使用过百度的图片缓存服务,不仅使用方便而且还能白嫖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(数据网址)encodingsrc=对要直接在-tag中使用的图像进行编码<img>
存储控制maxage浏览器应存储图像多长时间。
压缩级别lzlib 压缩级别。
无损压缩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和之间的值默认。为10080仅当输出图像为jpg,tiffwebp时才有效。

复制
//wsrv.nl/?url=imgcdn.daimadog.org/2020/01/wp.png&q=20

该服务已经使用了cloudflare进行免费cdn缓存,所以放心使用,不放心的可以自己使用源码部署!

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (4)

登录后评论
试试能不能搞视频缓存
应该不行吧,这个是用的cf的免费cdn
CF不是支持100M以下的文件缓存么?
短视频可以
QQ咨询 邮件咨询 狗哥推荐