Ser*_*rge 2 transparency jpeg node.js sharp
我正在使用Nodejs Sharp将png图像转码/调整为jpg.有没有办法用白色(或其他浅色)代替透明而不是黑色?我找到了一个较旧的库的解决方案,但夏普似乎是最快和最好的.
.background不起作用
.then(data => Sharp(data.Body).resize(SIZES[resize_type].width, SIZES[resize_type].height).max().withoutEnlargement().background("white").toFormat('jpeg') .toBuffer())
Run Code Online (Sandbox Code Playgroud)
nak*_*dev 15
在版本上,^0.23您可以flatten(options)在此处用作 api 文档:https : //sharp.readthedocs.io/en/stable/api-operation/#flatten
sharp('input.png').flatten({ background: { r: 255, g: 255, b: 255 } })
Run Code Online (Sandbox Code Playgroud)
从尖锐的文档 中可以看出,你可以使用背景进行颜色处理,并说明了这一点
默认背景为{r:0,g:0,b:0,alpha:1},黑色不透明.
所以为了得到白色简单使用
.background({r: 255, g: 255, b: 255, alpha: 1})
Run Code Online (Sandbox Code Playgroud)