博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML 5 Canvas
阅读量:7191 次
发布时间:2019-06-29

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

 

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

<canvas id="myCanvas" width="200" height="100">内容</canvas>
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成

1绘制一个红色的矩形
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);//绘制 150x75 的矩形,从左上角开始 (0,0)
</script>

2指定从何处开始,在何处结束,来绘制一条线
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);//第一个点
cxt.lineTo(150,50);//第二个点
cxt.lineTo(10,50);//第三个点
cxt.stroke();
</script>

3规定尺寸、颜色和位置,来绘制一个圆
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
</script>
参数:
arc(cx,cy,radius,start_angle,end_angle,direction);
cx 水平坐标;cy 垂直坐标;radius 半径
start-angel 圆周起始位置 
end_angle 弧长 Math.PI是半圆 Math.PI*2是整个圆 0.5为四分之一
direction 顺、逆时针 false为顺时针,true为逆时针(决定了圆弧的方向)

4指定的颜色来绘制渐变背景

<script type="text/javascript">

var c=document.getElementById("myCanvas");

var cxt=c.getContext("2d");

var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd; //把渐变赋给填充样式 
cxt.fillRect(0,0,175,50);
</script>
参数
createLinearGradient(x1,y1,x2,y2)
x1,y1就是表示线性渐变的起点坐标,x2,y2就表示终点坐标。 
addColorStop(位置,颜色)

5一幅图像放置到画布上
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img=new Image()
img.src="flower.png"
cxt.drawImage(img,0,0);
</script>

6 getContext("2d") 对象是内建的 HTML5 对象,
拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

 

转载于:https://www.cnblogs.com/power8023/p/5842477.html

你可能感兴趣的文章
tideways+toolkit对php代码进行性能分析
查看>>
10 个常用的软件架构模式
查看>>
Spring-boot、Shrio实现JWT
查看>>
Windows Containers 大冒险: 术语
查看>>
大厂前端面试考什么?
查看>>
重构 Composer 源管理工具 CRM 为 composer 插件
查看>>
Linux中的阻塞机制及等待队列
查看>>
我对JS字典的简单学习
查看>>
[译]HTML attribute与DOM property之间的区别?
查看>>
如何用Uber JVM Profiler等可视化工具监控Spark应用程序?
查看>>
Unix高级环境编程
查看>>
2017 Transformation Days |国际数据处理大咖SNP首次来华
查看>>
揭秘天猫未来小店背后的NEC the WISE技术群
查看>>
CentOS 6.5上安装并配置FastDFS
查看>>
流程DEMO-借款申请
查看>>
算法——分支限界法
查看>>
静态方法中不能new内部类的实例对象的总结
查看>>
PHP源码包编译安装错误及解决方法汇总
查看>>
RIP 路由汇总实验
查看>>
Git版本恢复命令reset(转载)
查看>>