第一步:html5页面中添加canvas元素

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

1、javascript绘制图形(矩形)

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");     //获取允许绘制图像的2D环境
cxt.fillStyle="#FF0000";        //fillStyle为绘制的图像填充颜色
cxt.fillRect(0,0,150,75);       //fillRect绘制矩形,前两个坐标为x,y轴,后面为宽高
</script>

除了可以使用fillStylefillRect,还可以使用strokeStylestrokeRectfill是填充,而stroke是轮廓,所有用strokeStyle和strokeRect是绘制的矩形轮廓,而fillStyle与fillRect绘制的是实体矩形。

2、绘制直线(使用 moveTo、lineTo、stroke方法)

moveTo(x,y):用于建立新的子路径,规定起始点为 (x,y)

lineTo(x,y):用于从moveTo方法规定的起始点开始绘制一条到规定坐标的直线。

stroke():用于沿着该路径绘制一条直接。

<script type="text/javascript">
window.onload = function(){var c = document.getElementById('myCanvas');var content = c.getContext('2d');content.moveTo(0,0);content.lineTo(300,300);content.stroke();
};
</script>

3、绘制圆形(用到beginPath、arc、closePath、fill这四个方法)

beginPath():用于开始绘制路径

closePath():用于将图形闭合起来

arc(x,y,radius,startAngle,endAngle,anticlockwise):用于绘制圆形,x,y为坐标,radius为半径,startAngle为开始的角度,endAngle为结束的半径,anticlockwise为是否按顺时针方向绘制图形。

<script type="text/javascript">
window.onload = function(){var c = document.getElementById('myCanvas');var content = c.getContext('2d');content.fillStyle="#FA7E2A";content.beginPath();content.arc(50,50,50,0,Math.PI*2,true);content.closePath();content.fill();
};
</script>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{padding: 0;margin:0;}
body{background: #1b1b1b;}
#div1{margin:50px auto; width:300px; height: 300px;}
canvas{background: #fff;}
</style>
<script type="text/javascript">
window.onload = function(){var c = document.getElementById('myCanvas');var content = c.getContext('2d');for(var i=0; i<=15; i++){content.fillStyle = '#FA7E2A';content.beginPath();content.arc(0,150,i*10,0,Math.PI*3/2,true);//content.closePath();
        content.stroke();}};
</script>
</head>
<body><div id="div1"><canvas id="myCanvas" width="300" height="150"></canvas></div>
</body>
</html>

4、绘制三角形

清除:clearRect(x,y,width,height);    x,y为坐标

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{padding: 0;margin:0;}
#div1{margin:50px auto; width:300px; height: 300px;}
canvas{border:1px solid #000;}
</style>
<script type="text/javascript">
window.onload = function(){var c = document.getElementById('myCanvas');var content = c.getContext('2d');content.fillStyle = '#FA7E2A';content.beginPath();content.moveTo(25,25);content.lineTo(150,25);content.lineTo(25,150);content.closePath();content.fill();document.getElementsByTagName('input')[0].onclick = function(){content.clearRect(0,0,300,300);};
};
</script>
</head>
<body><div id="div1"><canvas id="myCanvas" width="300" height="300"></canvas><input type="button" value="清除画布" /></div>
</body>
</html>

转载于:https://www.cnblogs.com/wxydigua/p/4204064.html

canvas绘制图形相关推荐

  1. html5 canvas绘制图形,html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

  2. 【canvas绘制图形】

    canvas绘制图形 一.绘制圆形 二.绘制三角形 三. 绘制矩形 一.绘制圆形 <!DOCTYPE html> <html lang="en"> < ...

  3. - Canvas 简介- 使用 Canvas 绘制图形- Canvas 常用方法- SVG 简介- 使用 SVG 绘制基本图形

    1 Canvas 简介 Canvas 表示画布,现实生活中的画布是用来作画的. HTML5 中的 Canvas :我们可以称它为"网页中的画布".默认情况下,Canvas 是一块 ...

  4. android 自定义多边形,Android:自定义view之Canvas绘制图形

    前面讲解了onMeasure,接下来讲解onDraw,onDraw主要就是绘制,也就是我们真正关心的部分,使用的是Canvas绘图. @Override protected void onDraw(C ...

  5. 微信小程序开发—(八)canvas绘制图形

    一.小知识 (1).API接口 (2).context 对象的方法列表 二.步骤 wxml中: <canvas canvas-id="myCanvas" class=&quo ...

  6. canvas绘制图形API(一)

    canvas元素的基础知识 canvas元素是HTML5中的一个新增的重要元素,专门用来绘制图形.在页面上放置一个canvas元素,就相当于在页面上放置了一块"画布",可以在其中进 ...

  7. 使用H5新增的canvas绘制图形

    一.绘制文本 <!DOCTYPE html> <html lang="zh-cn"><head><meta charset="U ...

  8. 使用canvas绘制图形

    canvas是html5新增的专门用来绘制图形的元素,在页面上放置一个canvas元素,就相当于在页面上放置了一块画布,可以在其中使用方法进行图形的绘制. 1.1 在页面添加canvas元素 < ...

  9. HTML5利用Canvas绘制图形(Canvas基本知识、绘制矩形、使用路径和图形组合)

    绘制图形有很多方法,可以借助Flash实现,也可以使用SVG和VML来绘图.本次将要学习一种新的灰土方法--使用Canvas元素,它是基于HTML5原生的绘图功能.使用Canvas元素,可以绘制图形, ...

最新文章

  1. 《强化学习周刊》第18期:ICML-2021强化学习的最新研究与应用
  2. python-leepcode-作用解析 - 5-27
  3. Python基础——细琐知识点
  4. 给网游写一个挂吧(二) – 启动外挂上
  5. 循环训练_要想循环增肌,且不会伤害身体,你可以这样安排力量训练
  6. Linux 系统应用编程——网络编程(常用命令解析)
  7. 前端学习(2454):用户登录
  8. CentOS安装scp命令
  9. 微型计算机断电后信息将会丢失,计算机基础知识试题及答案a2
  10. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(2) - SSE程序设计环境概述
  11. java 线程死锁简单例子_java 多线程死锁详解及简单实例
  12. 别让自己成为一名废弃的程序员
  13. html上下表格合并单元格,html表格合并单元格的方法_WEB前端开发
  14. CTFHub | 弱口令
  15. 国际化翻译navigator.language与语种对照表
  16. 关于CClientDC与CPAINTDC,以及GetDC与GetWindowDC。
  17. 【云服务器 ECS 实战】ECS 快照镜像的原理及用法详解
  18. Win7停服,UOS如何应对?
  19. 深入理解最强桌面地图控件GMAP.NET --- SOSO地图
  20. Kindle PaperWhite3 越狱和PDF插件的安装

热门文章

  1. Mac下node.js卸载方法收集
  2. excel 表生成insert语句。
  3. RHEL 6.5 中的KVM虚拟化新特性
  4. 2.[精通Hibernate笔记]整合Spring
  5. gridview中的种种超级链接
  6. jQuery 表格响应式插件 FooTable
  7. bootstrap table无法服务器分页_layui分页的大坑,RequestPayload和FormData
  8. devops项目经理_DevOps:如何避免交接导致项目死亡
  9. 谈判如何在谈判中_如何避免通过工资谈判把钱留在桌上
  10. linux /etc/目录_Linux / etc /目录的版本控制