博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1、Canvas的基本用法
阅读量:4308 次
发布时间:2019-06-06

本文共 2045 字,大约阅读时间需要 6 分钟。

1、Canvas是什么?

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

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

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

2、创建 Canvas 元素

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

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

你可能感兴趣的文章
安卓UI测试(基于android studio环境 espresso框架)
查看>>
iOS 获取当前对象所在的VC
查看>>
[译]如何在visual studio中调试Javascript
查看>>
expect
查看>>
Swift3.0语言教程获取C字符串
查看>>
XamarinAndroid组件教程RecylerView适配器设置动画示例
查看>>
Shell 示例:利用 $RANDOM 产生随机整数
查看>>
网络基础
查看>>
海量数据处理之倒排索引
查看>>
Repeater\DataList\GridView实现分页,数据编辑与删除
查看>>
software testing hw2- find the error
查看>>
maven系列一:pom.xml文件详解
查看>>
Python基础实践-密码管理系统实例
查看>>
iOS工作笔记之NSClassFromString
查看>>
PING检查网络是否畅通
查看>>
李宁-2015年7月13日-个人文档
查看>>
C# 通过URL获取图片并显示在PictureBox上的方法
查看>>
矩阵学习摘记,欢迎指正
查看>>
2018.08.02 hdu1558 Segment set(并查集+计算几何)
查看>>
2019.03.29 NOIP训练 友好国度(点分治+容斥)
查看>>