Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在画布中剪切出圆形图像_Html_Canvas_Blit - Fatal编程技术网

Html 在画布中剪切出圆形图像

Html 在画布中剪切出圆形图像,html,canvas,blit,Html,Canvas,Blit,我正在使用html5画布,我正在创建一个游戏,如果可以将你的脸上传到游戏中,并将其用作主要角色的话。不幸的是,游戏中的角色是圆形的,就像笑脸一样 那么这将如何实现呢 有没有可能拍一张照片,然后从中剪出一个圆圈,这样圆圈外的任何东西都是透明的? 如果是这样的话,该怎么做呢?您需要创建一个剪辑路径。此路径将剪切圆外的所有对象: ctx.save(); ctx.beginPath(); ctx.arc(75, 75, 10, 0, Math.PI*2, true); ctx.closePath()

我正在使用html5画布,我正在创建一个游戏,如果可以将你的脸上传到游戏中,并将其用作主要角色的话。不幸的是,游戏中的角色是圆形的,就像笑脸一样

那么这将如何实现呢

有没有可能拍一张照片,然后从中剪出一个圆圈,这样圆圈外的任何东西都是透明的?
如果是这样的话,该怎么做呢?

您需要创建一个剪辑路径。此路径将剪切圆外的所有对象:

ctx.save();

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

// draw the image

ctx.restore();
因此,您在此画布上绘制的下一个对象将仅显示在剪切路径的内部

您需要在前后保存和恢复上下文

下面是关于这个主题的更多信息: