canvas 当点击按钮时,改变圆的填充颜色,求大神指点

 我来答
百度网友109e958
2017-03-24 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:49
采纳率:0%
帮助的人:37.2万
展开全部
方便起见用了jquery,将引入jq的标签换成你用的jq版本就好。该代码支持双色交替变换就这样吧

原理就是点击后清空画布,重新绘制。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<style>

.btn{

height:40px;

width:80px;

background: #888;

color:#fff;

text-align: center;

line-height:40px;

margin:20px auto;

}

</style>

</head>

<body>

<canvas id='canvas' height=300 width=400 style='height:300px ;width:400px;border:1px solid #000'></canvas>

<button class='btn'>click</button>

<script src='jquery-1.11.1.min.js'></script>// 此处为jq引用处

<script>


var main=function(ctx,color1,color2,x,y,r){

this.ctx=ctx;

this.color1=color1;

this.color2=color2;

this.x=x;

this.y=y;

this.r=r;

this.draw(this.color1);

this.btn();

}

main.prototype={

draw:function(color){

var color=color;

ctx.beginPath();

ctx.clearRect(0,0,300,400);

ctx.fillStyle=color;

ctx.arc(this.x,this.y,this.r,0,Math.PI*2,false);

ctx.fill();

ctx.closePath();


},

btn:function(){

var that=this

var n=0;

$('.btn').click(function(){


n++;//双色交换逻辑处

if(n%2==0){

that.draw(that.color1);

}else{

that.draw(that.color2);

}



})

}

}

var color1='red';//颜色声明

var color2='blue';

var canvas=document.getElementById('canvas');

var ctx=canvas.getContext('2d');

var main=new main(ctx,color1,color2,50,50,20)// 上下文对象, 初始颜色, 点击变换颜色 , 创建圆的位置


</script>

</html>


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东莞大凡
2024-08-07 广告
作为东莞市大凡光学科技有限公司的一员,我们深知Matlab圆点标定板在相机标定中的重要性。该标定板通过均匀分布的圆点,帮助精确计算相机参数,优化成像效果。Matlab强大的编程功能,使得我们能够灵活设计标定板,调整圆点大小、数量和分布,以满... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式