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>

  

save()和restore()——弧度制——等5.4.2.html笔记,码迷,mamicode.com

时间: 2024-08-28 23:51:26

save()和restore()——弧度制——等5.4.2.html笔记的相关文章

Canvas的save和restore

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法. onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布. 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢? ? save:用来保存Canvas的状态.save之后,可以调用Canvas的平移.放缩.旋转.错切.裁剪等操作. ? restore:用来恢复Canvas之前保存的状态.防止save后对Canvas执行的操作对后续的绘制有影响. sa

HTML5中canvas的save和restore方法

canvas的save和restore方法: save() 方法把当前绘画状态的一份拷贝压入到一个保存图像状态的栈中.这里的绘画状态指坐标原点.变形时的变化矩阵(该矩阵是调用 rotate().scale() 和 translate() 的结果).以及图形上下文对象的当前属性值等内容. 1.图像上下文CanvasRenderingContext2D的属性和方法: 属性                              描述canvas                          取

canvas 中save和restore的用法

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法. onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布. 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢? ? save:用来保存Canvas的状态.save之后,可以调用Canvas的平移.放缩.旋转.错切.裁剪等操作. ? restore:用来恢复Canvas之前保存的状态.防止save后对Canvas执行的操作对后续的绘制有影响. sa

HTML5 canvas save和restore方法讲解

源:http://www.silverlightchina.net/html/HTML_5/study/2012/0326/14828.html save()和restore()方法是绘制复杂图形必不可少的方法.它们分别是用来 保存和恢复 canvas 状态的,都没有参数. Canvas 状态是以堆(stack)的方式保存的,每一次调用 save 方法,当前的状态就会被推入堆中保存起来.这种状态包括:当前应用的变形(即移动,旋转和缩放,见下): strokeStyle, fillStyle, g

android_浅析canvas的save()和restore()方法

[java] view plain copy <span style="font-size:18px;"> </span> [java] view plain copy <span style="font-size:18px;"></span> 绘图之前,首先需要调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上!Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进

将几何画板x轴坐标值换成弧度制的方法

大家在学习数学的过程中,都会遇到函数,这个时候大家都会遇到函数图像.对于函数图像我们一般都会通过先建立坐标系,然后让图像呈现在坐标系中.函数的种类有很多,三角函数就是其中之一,在绘制三角函数图像时,我们需要建立x轴是弧度制的三角坐标系.几何画板默认建立的坐标系是平面直角坐标系,下面给大家分享一下将几何画板x轴坐标值换成弧度制的方法? 原文:http://www.jihehuaban.com.cn/changjianwenti/zuobiao-zhi.html 方法一 几何画板的坐标系可以在“绘图

Canvas的save和restore简单程序说明

关于save和restore网上不少说明,在这里简单的用程序证实了一下. 图1 上图为绘制的最终图画,绘制这种view有多中方式. a) 简单的方式:不对canvas进行任何平移或者旋转的操作,对canvas直接绘制.代码如下 @Override protected void onDraw(Canvas canvas) { int width = 900; int height = 900; Paint paint = new Paint(); //上半部分红色举行 paint.setColor

canvas.save() canvas.restore() 作用

这里canvas.save();和canvas.restore();是两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的.这里稍微解释一下, 当我们对画布进行旋转,缩放,平移等操作的时候其实我们是想对特定的元素进行操作,比如图片,一个矩形等,但是当你用canvas的方法来进行这些操作的时候,其实是对整个画布进行了操作,那么之后在画布上的元素都会受到影响,所以我们在操作之前调用canvas.save()来保存画布当前的状态,当操作之后取出之前保存过的状态,这样就不会对其他的元素进行影响

tensorflow的save和restore

使用tensorflow中的save和restore可以对模型进行保存和恢复 import tensorflow as tf v1 = tf.Variable(tf.random_normal([1,2]), name="v1") v2 = tf.Variable(tf.random_normal([2,3]), name="v2") init_op = tf.global_variables_initializer() saver = tf.train.Saver