javascript - html5 Canvas 使用图像作为 mask

标签 javascript html canvas

是否可以使用具有形状的图像作为整个 Canvas 或 Canvas 内图像的 mask ?

我想将图像放在 Canvas 中,并在图像上加上 mask ,然后将其另存为新图像。

最佳答案

您可以使用“source-in”globalCompositeOperation 将黑白图像用作 mask 。首先,您将蒙版图像绘制到 Canvas 上,然后将 globalCompositeOperation 更改为“source-in”,最后绘制最终图像。

您的最终图像只会在它覆盖 mask 的地方绘制。

var ctx = document.getElementById('c').getContext('2d');

ctx.drawImage(YOUR_MASK, 0, 0);
ctx.globalCompositeOperation = 'source-in';
ctx.drawImage(YOUR_IMAGE, 0 , 0); 

More info on global composite operations

关于javascript - html5 Canvas 使用图像作为 mask ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673527/

相关文章:

javascript - 使用 NeutralinoJS 获取输入文件路径

javascript - Adobe Flash Professional CC - HTML5 Canvas - 主时间轴

javascript - 在不创建 html/javascript 测试文件的情况下在浏览器中测试 JavaScript 脚本

php - 来自 JavaScript 的正则表达式

javascript - 浏览器图像渲染

javascript - React 16.3 中从 Prop 更新 Canvas 的正确生命周期方法是什么?

javascript - HTML5 游戏中图像对象作为玩家的属性

javascript - Phonegap/JQueryMobile 应用程序构建丢失样式

javascript - Websocket 事件在 React 应用程序中接收旧的 redux 状态

javascript - 将所选项目移动到已排序多选的顶部(Javascript)