首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs Sharp:透明为白色

nodejs Sharp:透明为白色
EN

Stack Overflow用户
提问于 2017-12-15 00:38:10
回答 3查看 9.2K关注 0票数 8

我正在使用Nodejs Sharp将png图像转码/调整大小为jpg。有没有办法用白色(或其他浅色)而不是黑色来代替透明?我找到了一个较老的库的解决方案,但Sharp似乎是最快和最好的。

.background不工作

代码语言:javascript
复制
.then( data => Sharp(data.Body)
  .resize(SIZES[resize_type].width, SIZES[resize_type].height)
  .max()
  .withoutEnlargement()
  .background("white")
  .toFormat('jpeg')
  .toBuffer()
)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-13 11:44:23

根据文档,我们应该按照Msalam的建议来做,但不幸的是,这还不够。我想我们应该在".resize(...)“之前加上.flatten(true)才能让它正常工作。

票数 6
EN

Stack Overflow用户

发布于 2019-12-24 11:03:46

^0.23版本中,您可以在以下位置使用flatten(options)作为api文档:https://sharp.readthedocs.io/en/stable/api-operation/#flatten

代码语言:javascript
复制
sharp('input.png').flatten({ background: { r: 255, g: 255, b: 255 } })
票数 18
EN

Stack Overflow用户

发布于 2018-04-11 19:24:16

来自sharp documentation,因为它声明可以使用背景进行颜色操作,并且它声明

默认背景为{r: 0,g: 0,b: 0,alpha: 1},黑色,无透明度。

所以为了获得白色,只需使用

代码语言:javascript
复制
.background({r: 255, g: 255, b: 255, alpha: 1})
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47818210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档