2011-02-02 106 views
6

我正在使用html5画布,并且我正在创建一个游戏,因为它可以将您的脸部上传到游戏中,并将其用作主要的charactar。不幸的是,游戏中的charactars是圆形的,就像笑脸。在画布上切出圆形图像

那么这将如何完成?

是否有可能拍摄照片并从中剪出一个圆圈,因此圆圈外的任何内容都是透明的? 如果是这样,这将如何完成?

回答

6

你会想做一个剪切路径。这条道路将剪辑一切圈外:

ctx.save(); 

ctx.beginPath(); 
ctx.arc(75, 75, 10, 0, Math.PI*2, true); 
ctx.closePath(); 
ctx.clip(); 

// draw the image 

ctx.restore(); 

所以你这个画布上绘制,接下来的事情(S)将只出现在剪贴路径内。

您将希望在之前和之后保存和恢复上下文。

这里是多一点的题目

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Compositing#Clipping_paths