HTML5 canvas beginPath() 方法

beginPath() 方法开始一条路径,或重置当前的路径。w3school上的解释!

路径是canvas里很重要的一个概念,刚开始学canvas的人对路径理解不是很深,他们在用canvas的时候会乱用beginPath(),今天做了一个小demo来说明一下路径

<html lang="en-US">
<canvas id=myCanvas width=500px height=500px></canvas>  

<script>
    var myCanvas = document.getElementById("myCanvas");
    var context = myCanvas.getContext("2d");  

    context.fillStyle = "#e4e4e4";
    context.fillRect(0,0,500,500);  

    context.beginPath();  

    context.moveTo(100,100);
    context.lineTo(200,100);
    context.strokeStyle = "red";
    context.stroke();  

    context.beginPath();
    context.moveTo(100,200);
    context.lineTo(200,200);
    context.strokeStyle = "blue";
    context.stroke();
</script>
</html>

  如果不对这段代码做改动的话,显示的一条红线和蓝线,大家会想,这有什么好说的呢,肯定是这样啊。

接下来我们把第二个的context.stroke()注释起来,你会发现最后的结果只是一条蓝线,因为第一个路径没有stroke(),紧接着

context.beginPath(); 

就重新开辟了一个路径,使得只能画了第二个路径的直线,大家是不是发现越来越神奇了呢?

紧接着我把不注释context.stroke(),而把context.beginPath()注释起来,你发现什么了?很奇妙,你发现了一条紫线和蓝线,为什么呢?原来是因为没有开辟新的路径,所以第二个stroke()又重新画了第一条直线,并且用了蓝色,而第一个stroke()已经用红色画了第一条直线了,蓝色和红色的结合就变成了紫色,第二

context.stroke();绘画了蓝色。

你想想,如果把beginPath()和stroke()都注释起来会怎么样呢?两条蓝色的直线,you are good

时间: 2024-08-30 08:52:23

HTML5 canvas beginPath() 方法的相关文章

HTML5 canvas translate() 方法

实例 在位置 (10,10) 处绘制一个矩形,将新的 (0,0) 位置设置为 (70,70).再次绘制新的矩形(请注意现在矩形从位置 (80,80) 开始绘制): Your browser does not support the HTML5 canvas tag. JavaScript: var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillRect(10,10

HTML5 canvas getImageData() 方法

下面的代码通过 getImageData() 复制画布上指定矩形的像素数据,然后通过 putImageData() 将图像数据放回画布: var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="red"; ctx.fillRect(10,10,50,50); function copy() { var imgData=ctx.get

Html5 Canvas小知识

1.HTML5 canvas moveTo() 方法 2.HTML5 canvas lineTo() 方法

HTML5 canvas 中的arcTo()方法的用法

除了arc()之外,Canvas的绘图环境对象还提供了另一个用于创建圆弧路径的方法,那就是arcTo().改方法接受了5个参数: arcTo(x1,x2,y1,y2,radius) arcTo()方法的参数分别代表两个点击圆形半径.该方法一指定的半径来绘制一条圆弧,此圆弧与当前点到第一个点(x1,y1)的连线相切,而且第一个点到第二点(x2,y2)的连线也相切.该方法的这些特性,使得它非常适合用了绘制矩形的原角. 使用arcTo()方法: html: <!Doctyp html> <ht

使ie9以下版本支持canvas,css3等主流html5技术的方法

1.前言.   ie6,7,8支持html5,看起来比较难,其实有一种方法很通用,就是引入js和css,这种可插拔的引入对开发很有帮助.比如,下面是一个让网页支持canvas和css3的例子. 2.例子. 下面是一个在canvas画布中显示一个红球的例子的html. Java代码   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TIT

html5 canvas 详细使用教程

导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制图像(图片平铺.裁剪.像素处理[不只图像.包括其他绘制图形]) 绘制文字 保存和恢复状态(context) 保存文件 结合setInterval制作动画 结语.demo下载   前言 <canvas></canvas>是html5出现的新标签,像所有的dom对象一样它有自己本身的属性.

前端-HTML5 canvas学习

canvas元素算是HTML5添加的最受欢迎的功能了.它是通过在页面中设定一个区域,然后用脚本来编辑图形. 可像下面这样来引入一个canvas图像 <canvas id="myCanvas"></canvas> <script type="text/javascript"> var canvas = document.getElementById('myCanvas'); var cxt = canvas.getContext('

HTML5 canvas易错点

一.画布的默认宽高 <canvas id="myCanvas" style="border:1px solid black;"> 你的浏览器不支持html5 </canvas> 通过火狐浏览器访问,看到 通过截图工具发现,矩形的宽为300 高为150.但是我在w3school中看到的信息室说canvas默认宽高都为300 不过不是我要讨论的东西,可先忽略. 我们知道canvas只是html的一个新标签.因此,我们也可以用css来修改canva

HTML5 Canvas ( 扩展context(&#39;2d&#39;) ) CanvasRenderingContext2D.prototype.你的方法名

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">