canvas添加事件

Posted caoruichun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas添加事件相关的知识,希望对你有一定的参考价值。

<canvas id="c1" width="800" height="600"></canvas>

1.画布内的元素移动

window.onload=function () {
    //图形动起来

    let oC = document.getElementById(‘c1‘);
    let gd = oC.getContext(‘2d‘);
    let L = 50;
    setInterval(()=>{
        gd.clearRect(0,0,oC.width,oC.height);//清除整个画布
        L++;
        gd.strokeRect(L,50,100,70)
    },10);

}

 

2.画布内的矩形元素添加事件

window.onload=function () {
//点击事件

let oC = document.getElementById(‘c1‘);
let gd = oC.getContext(‘2d‘);
let l = 50,t = 50,w = 100, h = 70;
gd.strokeRect(l,t,w,h);
oC.onclick = function (e) {
gd.clearRect(0,0,oC.width,oC.height);
if(e.offsetX>=l&&e.offsetX<=l+w&&e.offsetY>=t&&e.offsetY<=t+h){
gd.strokeStyle = ‘red‘;
gd.strokeRect(l,t,w,h);
}else{
gd.strokeStyle = ‘blue‘;
gd.strokeRect(l,t,w,h);
}
}

}

 

3.画布圆心区域添加事件

window.onload=function () {
    let oC = document.getElementById(‘c1‘);
    let gd = oC.getContext(‘2d‘);
   let cx=400,cy=300,r=200;
    gd.arc(cx,cy,r,0,2*Math.PI,true);
    gd.fillStyle=‘yellow‘;
    gd.fill();
   oC.onmousemove = function (e) {
       let a = e.offsetX-cx;
       let b = e.offsetY-cy;
       let dis = Math.sqrt(a*a+b*b)
       gd.beginPath();
       gd.arc(cx,cy,r,0,2*Math.PI,true);
       if(dis<=r){
           gd.fillStyle=‘blue‘
       }else{
           gd.fillStyle=‘red‘
       }
       gd.fill()
   }

}

 

以上是关于canvas添加事件的主要内容,如果未能解决你的问题,请参考以下文章

HTML5Canvas 内部元素添加事件处理

canvas添加事件

一个Canvas如何设置点击事件?

H5如何在 canvas 插入的图片上添加点击方法

HTML5中canvas图片加载的问题

在 header.php 文件的 php 命令中添加 Google Ads 事件片段