我正在开发 Imgix 的类似服务,并且正在使用 Sharp。
\n\n但Imgix的webp无损压缩比Sharp获得更好的效果。相同宽度和高度的相同图像在 Imgix 中为 453\xc2\xa0KB,而在 Sharp 中为 1.3\xc2\xa0MB。
\n\n有什么建议可以在不损失质量的情况下增加压缩吗?
\n\n我正在使用的代码:
\n\nhttps.get(url, function (response) {\n let transform = sharp().toFormat('webp').resize(width, height);\n return response.pipe(transform).webp({lossless:true}).pipe(res);\n});\nRun Code Online (Sandbox Code Playgroud)\n
我看到该文档有一些选项:质量、alphaQuality、nearLossless、force。你能尝试一下吗?并与IMGIX进行比较
- Quality : 数字质量,整数1-100(可选,默认80)
- alphaQuality:alpha层的数字质量,整数0-100(可选,默认100)
- lossless : Boolean 使用无损压缩模式(可选,默认 false)
- closeLossless : Boolean 使用near_lossless压缩模式(可选,默认 false)
- force:布尔值强制 WebP 输出,否则尝试使用输入格式(可选,默认 true)
https.get(url, function (response) {
let transform = sharp().toFormat('webp').resize(width, height);
return response.pipe(transform).webp({lossless:true, quality: 60, alphaQuality: 80, force: false}).pipe(res);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9418 次 |
| 最近记录: |