`

HTML5 CANVAS中的SAVE和RESTORE的原理详解和应用

 
阅读更多
/**
		 *save是保存当前绘图状态,并把它压入一个堆栈 restore是恢复上次保存的绘图状态,从堆栈弹出。 
		关键在于绘图状态,它是指Canvas的平移、放缩、旋转、错切、裁剪等操作或者颜色、线条等样式。  
		 */
		window.onload = function() {
			var canvas = document.getElementById('canvas');
			var context = canvas.getContext('2d');
			context.translate(50, 50);
			context.save();
			//坐标原点移到画布中心,并保存这个状态
			context.rotate(Math.PI / 2);
			//画布旋转90度
			context.beginPath();
			context.moveTo(0, -50);
			context.lineTo(-50, 0);//箭头的左边(或上边)边的线
			context.moveTo(0, -50);
			context.lineTo(50, 0); //竖线
			context.moveTo(0, -50);
			context.lineTo(0, 50);
			context.closePath();
			//画一个向右的箭头
			context.restore();
			
			context.fillRect(40, 40, 10, 10);
			//画一点,restore后点在右下角,没有restore刚点在左下角(因restore到save前的状态【那个状态是画布没有旋转90度的,
			//此时,中心点在中间,起点40、40处画方形:fillRect(40, 40..就是在左下角的位置了	】)
			context.stroke();
		}

 

分享到:
评论

相关推荐

    html5塔防游戏源码_canvas绘图塔防游戏源码下载

    4. 渲染状态:保存和恢复渲染状态,通过`save()`和`restore()`方法实现,用于保持和恢复绘图属性,如颜色、线条样式等。 二、塔防游戏原理 1. 地图与路径:塔防游戏中,地图通常由多个可放置塔的位置和敌人行走的...

    canvas粒子球.rar

    《HTML5 Canvas动态粒子球详解》 HTML5的Canvas元素为网页开发者提供了强大的二维图形绘制功能,使得在浏览器端创建动态、交互式的视觉效果成为可能。"canvas粒子球"就是一个利用Canvas实现的酷炫效果,它通过...

    Android+Matrix理论与应用详解

    在Android中,我们通常将Matrix与Canvas一起使用,通过Canvas的`save()`、`restore()`和`concat()`方法保存、恢复状态以及合并矩阵变换。例如,我们可以先调用`canvas.save()`保存当前的Canvas状态,然后设置一个...

    JS+canvas绘制的动态机械表动画效果

    - `save()` 和 `restore()`:保存和恢复当前绘图状态,包括变换、填充和描边样式等。 3. **动态时钟构造函数**: `Clock` 构造函数接受一个选项对象,用于设置时钟的各种属性。`init` 方法是初始化函数,它启动一...

    View坐标位置XY轴详解

    - 使用`canvas.save()`和`canvas.restore()`可以保存和恢复Canvas的状态,包括当前坐标系统,以便进行复杂的绘图操作。 6. **动画(Animation)**: - 动画可以通过改变View的位置、大小或透明度来实现。例如,...

    详解canvas多边形(蜘蛛图)的画法示例

    - `save()`和`restore()`方法用于保存和恢复当前的绘图状态,防止后续操作影响到已经绘制的图形。 3. **连接顶点**: - 为了形成闭合的图形,需要在每个顶点之间绘制直线。这可以通过在每个顶点处再次调用`lineTo...

    JS画图板可改成手写签字

    - `save()` 和 `restore()`: 用于保存和恢复当前的绘图状态,便于复用相同的样式或进行复杂的绘图操作。 3. **实现过程** - 首先,创建一个Canvas元素,并设置其宽高。 - 然后,获取Canvas的2D渲染上下文,设置...

    js 图象旋转算法及说明

    ### JS 图像旋转算法详解与实现 在网页开发中,图像处理是一项常见...总之,JS图像旋转算法是网页图像处理中的一个重要组成部分,通过理解和掌握上述原理与实现细节,开发者可以更灵活地处理图像数据,提升用户体验。

    Android 图片镜像倒影特效

    通过以上分析和实践,我们可以看出,实现Android图片镜像倒影特效并不复杂,主要涉及到了`Bitmap`、`Matrix`、`Canvas`、`Paint`等核心绘图组件的应用。此外,还可以通过自定义视图的方式增强视觉效果,提高用户的...

    bouncing-ball:样本JS应用程序

    3. **Canvas API**:通过`canvas`元素,使用`getContext('2d')`获取绘图上下文,`fillRect`、`clearRect`绘制和擦除图形,`beginPath`、`moveTo`、`lineTo`描绘轨迹,以及`save`、`restore`保存和恢复绘图状态。...

Global site tag (gtag.js) - Google Analytics