画布canvas的使用2

示例3:创建画布并画圆

代码

<!DOCTYPE HTML>
<html>
<body>
    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    Your Browser Does Not Support the Canvas Element.
    </canvas>

    <script type="text/javascript">
        var c=document.getElementById("myCanvas");
        var cxt=c.getContext("2d");
        cxt.fillStyle="#FF0000";
        cxt.beginPath();
        cxt.arc(70,18,15,0,Math.PI*2,true);
        cxt.closePath();
        cxt.fill();
    </script>
</body>
</html>

实现效果

1.创建一个矩形画布
2.在画布中画一个圆
在这里插入图片描述

结构分析

涉及对象
矩形画布
画一个圆
涉及函数
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
逻辑步骤
1.生成一个画布canvas对象: canvas
2.画布自带可以被画的属性: cxt
3.创建画布对象后自动执行script内容 : script

代码块分析

1.生成画布对象:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your Browser Does Not Support the Canvas Element.
</canvas>

id,方便之后函数对对象进行操作或者读取对应的信息

2.使用script画一个圆

<script type="text/javascript">
	var c=document.getElementById("myCanvas");
	var cxt=c.getContext("2d");
	cxt.fillStyle="#FF0000";
	cxt.beginPath();
	cxt.arc(70,18,15,0,Math.PI*2,true);
	cxt.closePath();
	cxt.fill();
</script>

生成画布对象后,会自动执行script中的内容,前两个语句是获取操作的目标,后五句开始对目标进行操作:画一个圆后,再对圆内进行颜色填充。

示例4:创建画布并给它部分填色

代码

<!DOCTYPE HTML>
<html>
<body>
    <canvas Id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    Your Browser Does Not Support the Canvas Element.
    </canvas>

    <script type="text/javascript">
        var c=document.getElementById("myCanvas");
        var cxt=c.getContext("2d");
        var grd=cxt.createLinearGradient(0,0,175,50);
        grd.addColorStop(0,"#FF0000");
        grd.addColorStop(1,"#00FF00");
        cxt.fillStyle=grd;
        cxt.fillRect(0,0,175,50);
    </script>
</body>
</html>

实现效果

在这里插入图片描述

结构分析

涉及对象
画布
涉及函数
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
逻辑步骤
1.生成一个画布canvas对象: canvas
2.画布自带可以被填充颜色的属性 : fill
3.创建画布对象后自动执行script内容 : script

代码块分析

1.创建canvas

<canvas Id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your Browser Does Not Support the Canvas Element.
</canvas>

只需要给出id,定义形状。

2.使用script填充颜色

<script type="text/javascript">
	var c=document.getElementById("myCanvas");
	var cxt=c.getContext("2d");
	var grd=cxt.createLinearGradient(0,0,175,50);
	grd.addColorStop(0,"#FF0000");
	grd.addColorStop(1,"#00FF00");
	cxt.fillStyle=grd;
	cxt.fillRect(0,0,175,50);
</script>

前两个语句主要是获取操作的对象,以及定义之后用script中的哪些函数对这个对象进行操作。
var grd=cxt.createLinearGradient(0,0,175,50);cxt.fillRect(0,0,175,50); 共同决定了填充的结果,前部分决定渐变的范围,后部分决定填充的范围,如果范围1小于范围2,那么渐变色填充只会发生在范围1中,其余部分变成单一颜色填充。
grd开头的语句主要决定渐变色的颜色,cxt开头的语句定义了填充颜色的操作。

示例5:创建画布并设置背景图像

代码

<!DOCTYPE HTML>
<html>
<body>
    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    Your Browser Does Not Support the Canvas Element.
    </canvas>

    <script type="text/javascript">
        var c=document.getElementById("myCanvas");
        var cxt=c.getContext("2d");
        var img=new Image() 
        img.src="/i/eg_flower.png"
        cxt.drawImage(img,0,0);
    </script>
</body>
</html>

实现效果

1.创建一个矩形画布
2.更改背景
在这里插入图片描述

结构分析

涉及对象
矩形画布
背景图片
涉及函数
var img=new Image()
img.src="/i/eg_flower.png"
cxt.drawImage(img,0,0);
逻辑步骤
1.生成一个画布canvas对象: canvas
2.画布自带可以被画的属性: cxt
3.创建画布对象后自动执行script内容 : script

代码块分析

1.生成画布对象:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your Browser Does Not Support the Canvas Element.
</canvas>

id,方便之后函数对对象进行操作或者读取对应的信息

2.使用script插入一个背景图片

<script type="text/javascript">
	var c=document.getElementById("myCanvas");
	var cxt=c.getContext("2d");
	var img=new Image() 
	img.src="/i/eg_flower.png"
	cxt.drawImage(img,0,0);
</script>

生成画布对象后,会自动执行script中的内容,前两个语句是获取操作的目标,后五句开始对目标进行操作:定义一个img变量,注意使用时涉及img变量的语句是否要加分号(判断的标准是?)。最后再使用一个drawImage函数定义图像的位置。

总结

至此,canvas告一段落。以后分析都采用代码实现效果结构分析代码块分析的模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值