html5 2d绘图,HTML5 canvas绘图

本文介绍了HTML5 Canvas的基本用法,包括如何使用JavaScript绘制图形如矩形、圆形,填充颜色,创建渐变,以及绘制文本和图像。通过示例代码展示了canvas元素的强大功能,帮助开发者掌握在网页中创建动态视觉效果的技巧。
摘要由CSDN通过智能技术生成

简介

HTML5新增了canvas元素,我们可以利用canvas绘制各种图形文本图表等,熟悉使用canvas还可以写出各种多彩的特效。

只是声明一张画布,本身并没有绘图能力,我们需要利用JS来实现绘图。

Document

您的浏览器不支持canvas

使用JS来绘制图形

从上面的步骤我们创建了一个画布,现在我们开始利用JS获取到元素,然后绘制一个简单的图形。

您的浏览器不支持canvas

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

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

ctx.fillStyle="#FF0000";//填充色

ctx.fillRect(0,0,200,200);//填充

ctx.strokeStyle="#0000FF";//画笔色

ctx.moveTo(0,0);

ctx.lineTo(200,200);

ctx.stroke();//描线

下面绘制一个圆形

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

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

ctx.beginPath();

ctx.arc(95,50,40,0,2*Math.PI);//绘制圆形

ctx.stroke();

上面是一个简单填充和描线的案例,我们需要熟记一些常用的方法,才能流畅绘图。

canvas绘制文本

除了图形,canvas还可以绘制文本,使用fillText(text,x,y)方法填充实心文本,stroke(text,x,y)方法绘制空心文本。

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

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

ctx.fillStyle="#FF0000";

ctx.font="30px Arial";

ctx.fillText("Hello",20,50);//填充文本

ctx.strokeStyle="#0000FF";

ctx.strokeText("你好",100,50);//绘制文本

canvas创建渐变

canvas可以填充各种形状,也可以创建渐变色填充。createLinearGradient(x,y,x1,y1)创建线性渐变,createRadialGradient(x,y,r,x1,y1,r1)创建径向渐变。

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

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

// 创建渐变

var gdt=ctx.createLinearGradient(0,0,200,0);

gdt.addColorStop(0,"#FF0000");

gdt.addColorStop(1,"#0000FF");

// 填充渐变

ctx.fillStyle=gdt;

ctx.fillRect(20,20,170,120);

径向渐变

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

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

// 创建渐变

var gdt=ctx.createRadialGradient(100,75,5,120,90,100);

gdt.addColorStop(0,"#FF0000");

gdt.addColorStop(1,"#0000FF");

// 填充渐变

ctx.fillStyle=gdt;

ctx.fillRect(20,20,170,100);

canvas绘制图像

除了绘制图形,canvas还能将已有的图像资源放入画布中,使用drawImage(image,x,y)方法绘制图像。

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

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

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

ctx.drawImage(img,20,20);//绘制图像资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值