HTML5-beginPath注意事项

代码

 function show(){
    //useBeginPath();
    notUseBeginPath();
   }
   function useBeginPath(){
     var obj=document.getElementById("demo");
     var context=obj.getContext("2d");
     for(var i=0;i<5;i++){
          context.beginPath();
          context.rect(10+i*20,10+i*20,210-i*40,210-i*40);//描绘路径滴呀;
          context.stroke(); //开始描边
     }
   }
   function notUseBeginPath(){
     var obj=document.getElementById("demo");
     var context=obj.getContext("2d");
     for(var i=0;i<5;i++){
          //context.beginPath();
          context.rect(10+i*20,10+i*20,210-i*40,210-i*40);//描绘路径滴呀;
          context.stroke(); //开始描边
          //因为它stroke一次,那么他的内容将会把前面的内容在描绘一次地呀;
     }
   }

结果:

分析:

在 Canvas 中使用路径时,应该要保持一个良好的习惯,每次开始绘制路径前都要调用一次 beginPath 方法,否则画出来的效果难看不说,还会严重影响性能。

在下面这张图中,左边的图形在每次绘制矩形前都调用了一次 beginPath 来清除之前的路径并重新开始绘制新的路径,而后面的图形则就只在绘制所有图形前调用了一次 beginPath 来清除路径,因此,虽然这里是使用的边框色是 #666,但是右边的图形颜色比左边的深一些,因为每次使用 stroke 绘制边框时,会把之前的路径再次绘制一遍,叠加起来颜色就比原来深一些。

时间: 2024-10-05 20:09:21

HTML5-beginPath注意事项的相关文章

使用html5绘图技术事项调用摄像头拍照;

在mui框架中调用手机摄像头进行拍照可以直接使用原声的HTML5: 以下是HTML代码 <video id="video" width="640" height="480" autoplay></video> <!--这一行是调用摄像头之后呈现的画面--> <button id="snap">Snap Photo</button> <!--拍照按钮-->

关于 HTML5 你需要注意的事项

HTML5的到来将第五代网络语言带入了多媒体的世界.尽管HTML5的启动并没有多轰轰烈烈,但是在过去6个月还是有不少的软件开发者开始应用HTML5.然而,在选择HTML5时,有一些基本注意事项大家还是需要了解的. 它新并不表示它安全 网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全.HTML5所购建的网页和其他语言编写的网页一样容易泄露一些敏感数据.欧洲网 络信息安全机构(European Network and Information Security Agency,ENISA)已经

HTML5 CANVAS画图 beginPath和closePath

beginPath这个canvas函数我很早就讲过了,他的作用很简单,就是开始一段新路径,我们先来看下面的一小段代码: var ctx = document.getElementById('cvs').getContext('2d'); ctx.beginPath(); ctx.moveTo(100.5,20.5); ctx.lineTo(200.5,20.5); ctx.stroke(); ctx.moveTo(100.5,40.5); ctx.lineTo(200.5,40.5) ctx.s

HTML5 Canvas ( 线段的绘制 ) beginPath, moveTo, strokeStyle, stroke

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

HTML5语音播报引发的:关于TTS引擎扩展及修复注意事项

首先给出HTML5语音播报实例,具体解释请查阅相关文档: //html5语音播报 function speak(textToSpeak) {     //创建一个 SpeechSynthesisUtterance的实例     var utterance = new SpeechSynthesisUtterance();     // 设置文本     utterance.text = textToSpeak;     //增加中文支持     utterance.lang = 'zh-CN';

html5中的beginPath与stroke

名词解释: 定义和用法 beginPath() 方法在一个画布中开始子路径的一个新的集合. 语法 beginPath() 描述 beginPath() 丢弃任何当前定义的路径并且开始一条新的路径.它把当前的点设置为 (0,0). 当一个画布的环境第一次创建,beginPath() 方法会被显式地调用. 定义和用法 stroke() 方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径.默认颜色是黑色. 提示:请使用 strokeStyle 属性来绘制另一种颜色/渐变.

html5视屏背景注意事项。

在动手编码实现前,视频作为网页背景的有些问题我们要先考虑清楚: 并不是因为技术上可行你就可以任意使用:作为背景的视频内容必须能增强页面内容的感染力,而不是因为漂亮或技术上很酷就使用它. 作为背景的视频应该设置为自动播放,而默认状态下应该是关闭声音:事实上,视频里面最好不含声音.(你可以在页面上放置一个控制声音的按钮.) 背景视频应该有个替代图片,当浏览器不支持这种html5技术.视频格式时用图片替代.在等待背景视频加载的过程中也应该使用背景图片占位.而对于一些手机移动设备不支持视频自动播放,也应

html5项目的注意事项

前几天做了一个H5项目,过程挺坎坷的,结束的时候差点把我吓傻.总结了一些心得和注意事项在这里记录下来,避免以后犯同样的错误. 这个项目比较紧,面板的时间只有1.5天(实际所用时间3天,加班啦,我的周末--),客户的需求是通过一个通过css3动画和明星视频把客户吸引到广告页面.另外客户要求埋点,接入他们的代码用以统计访问的数据量. 首先说技术方面的难点和注意事项.一个H5一般包含的内容并不多,主要是动画效果.所以务必做成一个页面,这样用户体验会更好,也方便用户拿到想要的访问量等数据(这次我是做了三

[js高手之路] html5 canvas系列教程 - 开始路径beginPath与关闭路径closePath详解

路径在canvas绘图中,经常被用到,是一个非常重要的概念. 比如:我们要在canvas画出3条直线,要求用不同的颜色加以区分. 1 <style> 2 body { 3 background: #000; 4 } 5 #canvas{ 6 background:white; 7 } 8 </style> 9 <script> 10 window.onload = function(){ 11 var oCanvas = document.querySelector(

HTML5 canvas beginPath() 方法

beginPath() 方法开始一条路径,或重置当前的路径.w3school上的解释! 路径是canvas里很重要的一个概念,刚开始学canvas的人对路径理解不是很深,他们在用canvas的时候会乱用beginPath(),今天做了一个小demo来说明一下路径 <html lang="en-US"> <canvas id=myCanvas width=500px height=500px></canvas> <script> var m