在画布上是否可以在屏幕上执行类似的操作? 基本上我想:
我尝试了多种渲染方式
ctx.globalCompositeOperation
但我只在遮罩内得到图像,其余图像被画布背景覆盖(尽管我可以移动或旋转图像)
答案 0 :(得分:0)
问题已经裁剪出所需的图像,因此获取所需图像的一种方法是将整个图像绘制在画布上,在其上绘制蒙版,然后将已经获得的图像放置在画布上。
但是,可以反过来做。
根据需要在画布上绘制图像,进行缩放,倾斜,拉伸和旋转。
然后在其上绘制半透明的覆盖层,例如
ctx.beginPath();
ctx.rect(0,0,width,height);
ctx.fillStyle = “rgba(0,0,0,0.4);
ctx.fill();
切出所需的遮罩。在不知道确切需要什么形状的情况下,无法给出确切的代码,但是请参见https://stackoverflow.com/questions/36711841/apply-bitmap-mask-to-image-on-html5-canvas,其中描述了如何去除面膜的一部分。