zoukankan      html  css  js  c++  java
  • save()和restore()——弧度制——等5.4.2.html笔记

    画完一个图后

    保存canvas状态→save()

    保存使处安全状态,不影响别人,也不被他人影响。

      

    接着画完别的图形后

    恢复canvas状态→restore()

    释放出原来安全区域的图形

    养成好习惯

    <!doctype html>
    <html>
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta>
    
    </head>
    
    
    <body>
    <canvas id="myCanvas" width="700" height="300"></canvas>
    <script language="javascript">
    //var c=document.getElementById("myCanvas");
    //var ctx=c.getContext("2d");
    function drawTop(ctx,fillStyle){
    	ctx.fillStyle这个是属性=fillStyle这个是参数;
    	ctx.beginPath();
    	ctx.arc(0,0,30,0,Math.PI,true);               角度均采用弧度制
    	ctx.closePath();         ture是逆时针,所以只画一个雨伞的话以0,0为原点逆时针旋转是看不见的,需要改变坐标,如(30,30……)(去掉移动函数记得获取画布环境
    	ctx.fill();
    }
    function drawGrip(ctx){
    	ctx.save();                                   保存                          
    	ctx.fillStyle="blue";
    	ctx.fillRect(-1.5,0,1.5,40);
    	ctx.beginPath();
    	//那个钩
    	ctx.strokeStyle="blue";
    	ctx.arc(-5,40,4,Math.PI,Math.PI*2,true);      角度均采用弧度制
    	ctx.stroke();
    	//到此
    	ctx.closePath(); 
    	ctx.restore();                                恢复
    }
    function draw(){
    	var ctx=document.getElementById('myCanvas').getContext("2d");
    	ctx.translate(80,80);移动坐标空间,亦称“重置”
    	for(var i=1;i<10;i++)
    {
    	ctx.save();                                   保存
    	ctx.translate(60*i,0);
    	drawTop(ctx,"rgb("+(30*i)+","+(255-30*i)+",255)");
    	drawGrip(ctx);
    	ctx.restore();                                恢复
    }
    }
    window.onload=function(){
    	draw();
    }
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    软件工程第十四周学习进度条
    软件工程第十五周学习进度条
    课堂练习-买书价格最低
    找水王2
    Struts结合马士兵视频的学习经验
    Spring结合马士兵视频的学习经验
    浅谈 《大型网站技术架构》 五六七章
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    浅谈架构漫谈
    软件架构设计师工作流程
  • 原文地址:https://www.cnblogs.com/coke126/p/3701544.html
Copyright © 2011-2022 走看看