HTML5 Canvas translate与rotate应用
Translate:坐标转化
默认Canvas的起启坐标0,0是在右上角,如果让中起启坐标放在中心点就可以这样做
context.translate(centerX,centerY);
Rotate:旋转的角度(确切的说是弧度)
弧度=角度*PI/180
角度=弧度*180/PI
下面的一个例子就是使用到了坐标转化和旋转
按左右键可以让方块转动
//获取Canvas对象
var context=canvas.getContext("2d");
//矩形大小
var width=100;
var height=100;
//旋转频率
var angelSpeed=5;
//中心点位值
var centerX=canvas.width/2;
var centerY=canvas.height/2;
//绘制钜形
//将坐标中心作为起启点
context.translate(canvas.width/ 2, canvas.height/ 2);
DrawRect(0);
//添加键盘处理事件
window.addEventListener("keydown", onKeyDown, false);
function onKeyDown(evt)
{
if(evt.keyCode=="39")
{
DrawRect(angelSpeed);
}
else if(evt.keyCode=='37')
{
DrawRect(-angelSpeed);
}
}
function DrawRect(speed)
{
context.clearRect(-width/2-width,-height/2-height, canvas.width, canvas.height);
context.beginPath();
context.strokeStyle = '#ff0000'
context.fillStyle='#ff0000';
//旋转
context.rotate(speed*Math.PI/180);
context.fillRect(-width/2,-height/2,width,height);
context.fill();
context.stroke();
context.closePath();
}
作者:Louja
出处:http://loujady.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此声明,且在文章页面给出原文连接,否则保留追究法律责任的权利。
转载于:https://www.cnblogs.com/loujady/archive/2011/12/09/2281659.html
HTML5 Canvas translate与rotate应用相关推荐
- Canvas translate,scale,rotate
下面使用三个小例子作为讲解: 1.translate:将canvas默认的原点(0,0),进行移动 import android.content.Context; import android.gra ...
- Canvas之translate,scale,rotate,skew
Canvas之translate,scale,rotate,skew Canvas大致可以分为三类: save,restore等与层相关的保存和回滚相关方法 scale,rotate,clipXXX等 ...
- html矩形坐标理解,HTML canvas中translate()与rotate()的理解
首先,当我们在页面上初始化canvas时,相当于在上面放了一块画布,这块画布我们可以理解为上面有一个坐标系(如下图),左上角是原点,往右是X轴的正方向,往下是Y轴的正方向,我们在画布上绘制的内容都是基 ...
- HTML5 canvas画图
HTML5 canvas画图 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript). 不过,<canvas> 元素本身并没有绘制能力(它仅仅 ...
- HTML5 Canvas 绘制库存变化折线 增加超储告罄线
<!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type&quo ...
- html canvas抽奖,HTML5 Canvas圆盘抽奖应用(适用于Vue项目)
HTML5 Canvas圆盘抽奖应用DEMO演示 }.xttblog_box{width:300px;height:300px;margin:100px auto;position:relative; ...
- c html canvas,HTML5 canvas
绘制圆形 function draw(id){ let canvas = document.getElementById(id) if (canvas == null){ return false } ...
- HTML5 Canvas 绘制旋转45度佛教万字
效果如下: 代码如下: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Cont ...
- HTML5 Canvas
HTML5 Canvas 转自:https://blog.csdn.net/u012468376/article/details/73350998 一.canvas简介 <canvas&g ...
最新文章
- ISME:中大李文均组在放线菌生命暗物质的生态功能与进化上取得进展
- 未来一年最有可能成为独角兽的29家美国初创公司
- ubuntu ibus谷歌输入法安装
- jvm性能调优 - 03垃圾回收机制
- iOS之widget开发(Today Extension)
- linux ar 命令详解
- PS教程第二十一课:有了选区就有了界限
- 什么是python自动化测试_python已经自动化了,大家一般用什么测试框架?
- git 强制将本地代码更新仓库里面的代码
- 漏洞升级?黑客可利用 Spring 框架漏洞部署 Mirai 恶意软件
- c语言对称矩阵的压缩存储_对称矩阵的压缩存储和输出
- 标签系列三:spring 中property解释以及property标签里面的属性
- 翻译PDF 翻译PPT 保留原格式 一键搞定
- mysqld: [ERROR] Found option without preceding group in config file D:\MySql\MyS ql\my.ini at line 1
- UML之独孤九剑总纲
- 【总结】PHP常见面试题汇总(一)
- 论文速递 EMNLP2022 | 接受论文抢先看!!!(内含下载列表)
- 搜狗有一个超良心的功能 Ctrl+shift+E
- C++解一元二次方程
- AutoCAD各版本对应的R版本参数值及其对应注册表中的数值(2002-2023)