canvas画布讲解(一)

canvas基础知识

在这里插入图片描述

<canvas id="myCanvas" width="200" height="200">< /canvas>

canvas元素自身有两个属性:width和height,除此之外,canvas还拥有所有主要的HTML5属性,比如说class、id
和 name等。id属性被用在上面所示的代码中,JavaScript使用这里创建的canvas的id来表示要在上面绘画的画布。
JavaScript使用document.getElementById()方法来确定正确的画布,如下面代码所示:

注:IE 6 7 8不支持 <canvas>标签

绘制

var ctx = cvs.getContext("2d");
getContext() 方法返回一个用于在画布上绘图的环境。
方法:
ctx.beginPath() :开始一个路径
ctx.moveTo(x,y): 路径移到画布中的指定点 , 即起点
ctx.lineTo(x,y) :添加一个新点,画线
......
ctx.closePath() :关闭绘制路径
ctx.fillStyle:用来设置填充颜色
ctx.fill() :填充已定义好的路径
ctx.lineWidth:画线的宽度
ctx.strokeStyle:用来设置描边颜色
ctx.stroke() :绘制已定义好的路径

绘制一个矩形

在这里插入图片描述
矩形的绘制:

rect(x,y,w,h):
x、y为起始坐标,w、h为矩形的宽、高
支持这么写:
ctx.fillRect(x,y,w,h)   及   ctx.strokeRect(x,y,w,h)

清除画布:
ctx.clearRect(x,y,width,height):
x : 清除起点横坐标
y : 清除起点纵坐标
width : 清除长度
height : 清除高度

圆形的绘制
在这里插入图片描述

arc(x,y,r,sa,ea,true/false):
x、y为圆心坐标,r为半径,
sa、ea分别为起始角度和结束角度,
true是逆时针画圆,false是顺时针画圆;
360度角即2PI弧度,1度就是2PI/360=PI/180弧度,
90度就是2PI/360*90=PI/2弧度(其他的角度自行计算)

贝塞尔曲线

quadraticCurveTo (cx,cy,ex,ey)
二次贝塞尔曲线,一个控制点,一个结束点

bezierCurveTo (cx1,cy1,cx2,cy2,ex,ey)
三次贝塞尔曲线,两个控制点,一个结束点

什么是控制点?
在这里插入图片描述

绘制文字

fillText(text,x,y): 填充绘制
text表示文字      x、y为坐标

strokeText(text,x,y): 描边绘制
text表示文字      x、y为坐标

图形的组合方式

 图形组合:
新画图形是压在原图形上或者原图覆盖新图形等等一系列新图与原图形的结合方式叫做图形的组合,
大概分为十一种方式。
比如:显示新图覆盖原图、或者只显示原图和新图相重叠部分等等。
 globalCompositeOperation="type";
    type的值:
	:source-over (默认值)
	:source-in 
	:source-out 
	:source-atop 
	:destination-over 
	:destination-in 
	 :  destination-out
	 :  destination-atop 
	:lighter  
	:xor
	:copy  

图片的组合方式

source-over:默认值,表示新图覆盖在旧图之上
source-atop:只绘制旧图和重叠的部分,其他透明
source-in:只绘制新图的重叠部分,其他透明
source-out:只绘制新图,重叠部分和旧图透明
destination-over:表示旧图覆盖在新图之上
destination-atop:只绘制旧图重叠的部分及新图未重叠部分,其他透明
destination-in:只绘制旧图的重叠部分,其他透明
destination-out:只绘制旧图,重叠部分和新图透明
 lighter:旧图与新图都绘制,重叠部分混色处理
 xor:旧图和新图重叠处做透明处理
 copy:只绘制新图形,不绘制旧图形
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值