1、Canvas的基本用法

1、Canvas是什么?

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。

画布是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

2、创建 Canvas 元素

规定元素的 id、宽度和高度:

<canvas class="canvas" width="200px" height="200px"></canvas>

3、通过 JavaScript 来绘制

canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:

var c=document.getElementById("myCanvas"); 
var cxt=c.getContext("2d"); ​
cxt.fillStyle="#FF0000"; ​
cxt.fillRect(0,0,150,75); 

4、通过JavaScript创建canvas

function createCanvas(){
document.body.innerHTML = ""
mycanvas =document.getElementByIdx("mycanvas");
context = mycanvas.getContext("2d");
}

5、绘制矩形

function drawRect(){
context.fillStyle="#ff0000";
context.translate(100,200);//移动
context.scale(1,0.5);//缩放
context.rotate(30);//旋转
context.fillRect(0,0,200,200);
}

  

6、绘制图像

function drawImage(){
var img = new Image();
img.onload = function(){
context.drawImage(img,0,0);//三个参数图片源对象、摆放的位置
}
img.src = "img/logo.png"
}

7、使用Canvas绘制直线

function pageLoad(){
    var c= $('mycanvas');
    var ctx = c.getContext('2d');
    ctx.moveTo(20,30);//第一个起点
    ctx.lineTo(120,90);//第二个点
    ctx.lineTo(220,60);//第三个点(以第二个点为起点)
    ctx.lineTo(250,90);//第四个点(以第二个点为起点)
    ctx.lineWidth=3;
    ctx.strokeStyle = 'blue';
    ctx.stroke();//stroke() 方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色。
} 

8、绘制渐变曲线

function pageLoad2(){
   var can = $('mycanvas');
   var cans = can.getContext('2d');
   cans.moveTo(0,0);
   cans.lineTo(400,300);
   var grd = cans.createLinearGradient(0,0,400,300);//线性渐变的起止坐标
   grd.addColorStop(0,'red');//创建渐变的开始颜色,0表示偏移量,个人理解为直线上的相对位置,最大为1,一个渐变中可以写任意个渐变颜色
   grd.addColorStop(0.5,'green');
   grd.addColorStop(1,'yellow');
   cans.lineWidth=20;
   cans.strokeStyle = grd;
   cans.stroke();
}

  

8、绘制一个线性渐变的矩形

function pageLoad2(){
   var can = $('mycanvas');
   var cans = can.getContext('2d');
   cans.moveTo(0,0);
   cans.lineTo(400,300);
   var grd = cans.createLinearGradient(0,0,0,100);//线性渐变的起止坐标
   grd.addColorStop(0,'red');//创建渐变的开始颜色,0表示偏移量,个人理解为直线上的相对位置,最大为1,一个渐变中可以写任意个渐变颜色
   grd.addColorStop(0.5,'green');
   grd.addColorStop(1,'yellow');
   cans.fillStyle=grd;
   cans.fillRect(0,0,200,100);
}

  

 

转载于:https://www.cnblogs.com/hamigua/p/5512667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值