您好,欢迎访问一九零五行业门户网

canvas中使用clip()函数裁剪方法

在canvas中,可以使用clip()函数裁剪区域,设定裁剪区域后,只有在区域内的图像才能显示,其余部分会被屏蔽掉。本文主要和大家介绍了canvas裁剪clip()函数的具体使用的相关资料,希望能帮助到大家。
未使用裁剪绘制一个圆
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> *{margin:0; padding:0;} html, body{width:100%; height:100%; overflow:hidden; background-color:#afafaf;} </style> </head> <body> <canvas id="canvas"></canvas> <script> var canvas = document.getelementbyid('canvas'), context = canvas.getcontext('2d'); canvas.width = document.body.clientwidth; canvas.height = document.body.clientheight; context.linewidth = 3; context.strokestyle = 'red'; context.beginpath(); context.arc(200, 200, 100, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.stroke(); context.closepath(); </script> </body> </html>
效果
使用clip()裁剪区域
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> *{margin:0; padding:0;} html, body{width:100%; height:100%; overflow:hidden; background-color:#afafaf;} </style> </head> <body> <canvas id="canvas"></canvas> <script> var canvas = document.getelementbyid('canvas'), context = canvas.getcontext('2d'); canvas.width = document.body.clientwidth; canvas.height = document.body.clientheight; context.linewidth = 3; context.strokestyle = 'red'; context.rect(0, 0, 200, 200); context.clip(); context.beginpath(); context.arc(200, 200, 100, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.stroke(); context.closepath(); </script> </body> </html>
效果
也可以使用arc绘制圆形的剪裁区域
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> *{margin:0; padding:0;} html, body{width:100%; height:100%; overflow:hidden; background-color:#afafaf;} </style> </head> <body> <canvas id="canvas"></canvas> <script> var canvas = document.getelementbyid('canvas'), context = canvas.getcontext('2d'); canvas.width = document.body.clientwidth; canvas.height = document.body.clientheight; context.linewidth = 3; context.strokestyle = 'red'; context.arc(100, 100, 150, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.clip(); context.beginpath(); context.arc(200, 200, 100, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.stroke(); context.closepath(); </script> </body> </html>
效果
使用save和restore实现只裁剪单个路径
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> *{margin:0; padding:0;} html, body{width:100%; height:100%; overflow:hidden; background-color:#afafaf;} </style> </head> <body> <canvas id="canvas"></canvas> <script> var canvas = document.getelementbyid('canvas'), context = canvas.getcontext('2d'); canvas.width = document.body.clientwidth; canvas.height = document.body.clientheight; context.linewidth = 3; context.strokestyle = 'red'; context.save(); context.rect(0, 0, 200, 200); context.clip(); context.beginpath(); context.arc(200, 200, 100, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.stroke(); context.closepath(); context.restore(); context.beginpath(); context.arc(250, 250, 100, (math.pi / 180) * 0, (math.pi / 180) * 360, false); context.stroke(); context.closepath(); </script> </body> </html>
效果
相关推荐:
使用html5 canvas api中的clip()方法裁剪区域图像代码实例
以上就是canvas中使用clip()函数裁剪方法的详细内容。
其它类似信息

推荐信息