canvas裁剪clip()函数的具体使用
导读:收集整理的这篇文章主要介绍了canvas裁剪clip( 函数的具体使用,觉得挺不错的,现在分享给大家,也给大家做个参考。 在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>
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: canvas裁剪clip()函数的具体使用
本文地址: https://pptw.com/jishu/585813.html