我有一个大的源图像,我想在圆圈内显示它的一小部分,使画布的一部分在圆圈之外透明.
在Mozilla的指导合成与HTML5包括两个主题:globalCompositeOperation和clip.看起来这两个都会让我做我想做的事情,所以我想知道每个的缺点是什么,我应该使用哪些.
我可以设置globalCompositeOperation为source-atop(或者source-in,但在WebKit中似乎有些错误).然后让目标画布透明,带有黑色圆圈,然后简单地在其上绘制源图像.这将确保仅填充圆形部分.
或者,我可以绘制一个圆形路径并用于clip定义剪切区域,然后在其上绘制源图像,这也应该确保只填充圆形部分(事实上,Mozilla的页面上面甚至有一个做漂亮的例子)很多明星).
我(纯粹推测性地)想象globalCompositeOperation会有更好的性能,因为它是在每像素级别上应用操作,而clip操作需要进行多边形交叉.但这只是一种预感.