繁体   English   中英

使用画布 nodeJS 模糊图像

[英]Blurring image with canvas nodeJS

似乎ctx.filter = "blur(amount)"不起作用。 这是我的代码:

const {
    body
} = await request.get(
    url
);
const data = await Canvas.loadImage(body);
ctx.filter = "blur(50px)"
ctx.drawImage(data, 0, 0, canvas.width, canvas.heigth)
const final = new Discord.MessageAttachment(
    canvas.toBuffer(),
    "blurred.png"
);

是的,它是为了 Discord。

事实上,他们仍然不支持此功能。
这是跟踪功能请求的问题。

显然,这些过滤器不是内置在 node-canvas 使用的渲染引擎 Cairo 中,但是,在不久的将来,node-canvas 可以切换到另一个渲染引擎 Skia 显然是内置的。 所以希望有一天它会到来,但就目前而言,我们必须自己实现它。

对于高斯模糊,您可以查看StackBlur.js项目,它是浏览器本地实现之前的事实上的模糊过滤器库。 这里以一个故障项目为例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM