42canvas元素

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>1canvas元素</title>
<style  type="text/css">
canvas{ background:gray}
</style>
</head>

<body>
<canvas  id="mycanvas"  width="1000px" height="1000px">提示:浏览器不支持 </canvas>
<!--定义一块"画布",操作在这块"画布"上进行,左上角坐标为(0,0)右下角为(1000,1000)-->
<script  type="text/javascript">
var canvas=document.getElementById('mycanvas');//定义变量获取画布DOM
var context=canvas.getContext('2d');//设置绘图环境为2d

context.strokeStyle="#ffffff";//设置线段的颜色
context.lineWidth=5;//线宽
context.moveTo(0,0);//设置起点
context.lineTo(50,50);//设置终点
context.lineTo(50,70);//设置终点
context.closePath();//从当前点回到起始点
context.stroke();//开始绘制
//注意函数大小写!!!!!!!!!!!!!!!!

//空心矩形
context.beginPath();//开始另一个图形
context.strokeStyle="green";//设置线段的颜色
context.rect(100,100,150,150);//(起点X,起点Y,宽,高)
context.stroke();//开始绘制

//空心矩形
context.beginPath();//开始另一个图形
context.strokeStyle="red";//线段的颜色
context.strokeRect(300,100,150,150);//(起点X,起点Y,宽,高)

//填充矩形
context.beginPath();//开始另一个图形
context.fillStyle="red"//设置填充颜色
context.rect(500,100,150,150);//设置矩形的(起点X,起点Y,宽,高)
context.fill();//绘制填充图形

//填充矩形
context.beginPath();//开始另一个图形
context.fillStyle="green";//设置填充颜色
context.fillRect(700,100,150,150)//绘制填充矩形

//半圆半缝合
context.beginPath();//开始另一个图形
context.lineWidth=2;//线宽
context.strokeStyle="red";//线段的颜色
context.fillStyle="green";//设置填充颜色
context.arc(100,400,50,0,Math.PI,true);
//(圆心x,圆心y,半径,开始角度(0度在时钟3点钟方向)(弧度),结束角度(弧度),true顺时针,false逆时针)
context.stroke()//开始绘制
context.fill();//绘制填充图形


//半圆完全缝合
context.beginPath();//开始另一个图形
context.arc(300,400,50,0,Math.PI,true);
context.closePath();//从当前点回到起始点
context.stroke()//开始绘制
context.fill();//绘制填充图形

//半圆不缝合
context.beginPath();//开始另一个图形
context.arc(500,400,50,Math.PI/3,Math.PI,false);
context.closePath();//从当前点回到起始点
context.fill();//绘制填充图形



//直接绘制一个填充扇形,但边界不缝合
context.beginPath();//开始另一个图形
context.fillStyle="green";//设置填充颜色
context.strokeStyle="red";//线段的颜色
context.lineWidth=2;//线宽
context.moveTo(400,600);//设置起点
context.arc(400,600,50,Math.PI*7/6,Math.PI*11/6,false);
context.fill();//绘制填充图形
context.stroke()//开始绘制
context.beginPath();//开始另一个图形
context.fillStyle="gray";//设置填充颜色
context.strokeStyle="red";//线段的颜色
context.lineWidth=2;//线宽
context.moveTo(400,600);//设置起点
context.arc(400,600,25,Math.PI*7/6,Math.PI*11/6,false);
context.fill();//绘制填充图形
context.stroke()//开始绘制

//通过两个半扇形重叠合成一个完整的有边界的扇形
context.beginPath();//开始另一个图形
context.fillStyle="green";//设置填充颜色
context.strokeStyle="red";//线段的颜色
context.lineWidth=2;//线宽
context.moveTo(100,600);//设置起点
context.arc(100,600,50,Math.PI*7/6,Math.PI*1.5,false);
context.fill();//绘制填充图形
context.stroke()//开始绘制
context.beginPath();//开始另一个图形
context.moveTo(100,600);//设置起点
context.arc(100,600,50,Math.PI*11/6,Math.PI*1.5,true);
context.fill();//绘制填充图形
context.stroke()//开始绘制
context.beginPath();//开始另一个图形
context.fillStyle="gray";//设置填充颜色
context.strokeStyle="red";//线段的颜色
context.lineWidth=2;//线宽
context.moveTo(100,600);//设置起点
context.arc(100,600,25,Math.PI*7/6,Math.PI*1.5,false);
context.fill();//绘制填充图形
context.stroke()//开始绘制
context.beginPath();//开始另一个图形
context.moveTo(100,600);//设置起点
context.arc(100,600,25,Math.PI*11/6,Math.PI*1.5,true);
context.fill();//绘制填充图形
context.stroke()//开始绘制

//绘制文字
context.beginPath();//开始另一个图形
context.lineWidth=2;//线宽
context.strokeStyle="red";//线段的颜色
context.fillStyle="green";//设置填充颜色
context.font="40px 隶书";
context.strokeText("HTML5的canvas元素",500,700);//空心
context.fillText("HTML5的canvas元素",500,800);//实心
context.strokeText("HTML5的canvas元素",500,900);//空心实心重合
context.fillText("HTML5的canvas元素",500,900);
//线性渐变色
g=context.createLinearGradient(100,700,200,700);//(颜色渐变的起始坐标和终点坐标)
g.addColorStop(0,"#000000");
g.addColorStop(1,"#ffffff");
context.fillStyle=g;
context.fillRect(100,700,200,200);

//放射性渐变
g1=context.createRadialGradient(825,400,10,825,525,150);//(颜色渐变的起始坐标和终点坐标)
g1.addColorStop(0,"#000000");
g1.addColorStop(1,"#ffffff");
context.fillStyle=g1;
context.fillRect(700,400,250,250);
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值