canvas变换
canvas变换
方法
save() 保存canvas状态
restore() 回复canvas保存的状态
translate(x, y) 移动canvas位置
rotate(radians) 顺时针方向旋转canvas,弧度 = (Math.PI/180)*角度)
scale(x, y) 缩放坐标轴,如果是负数则坐标轴反向
移动画布

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d'); ctx.save();
ctx.fillStyle='orange';
ctx.translate(10, 10);
ctx.fillRect(0,0, 10, 10)
ctx.restore(); ctx.save();
ctx.fillStyle='red';
ctx.translate(20, 20);
ctx.fillRect(0,0, 10, 10);
ctx.restore(); ctx.save();
ctx.fillStyle='blue';
ctx.translate(30, 30);
ctx.fillRect(0,0, 10, 10);
ctx.restore(); ctx.save();
ctx.fillStyle='green';
ctx.translate(40, 40);
ctx.fillRect(0,0, 10, 10);
旋转画布

ctx.fillStyle='orange';
ctx.translate(200, 200); for(var i = 1; i <= 18; i++){
ctx.rotate((Math.PI / 180) * 20 * i);
ctx.fillRect(0, 0, 100, 100);
}
缩放坐标轴

ctx.fillStyle='orange';
ctx.font = '30px serif';
ctx.translate(200, 100);
ctx.scale(-1, 1);
ctx.fillText('Hello world', 10, 50);
canvas变换的更多相关文章
- 【转】android Graphics(四):canvas变换与操作
android Graphics(四):canvas变换与操作 分类: 5.andriod开发2014-09-05 15:05 5877人阅读 评论(18) 收藏 举报 目录(?)[+] 前言 ...
- android Graphics(四):canvas变换与操作
前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样.我尽量多画图,让大家更清 ...
- canvas变换(移动,缩放等)
代码: 1 /** 2 * Created by Administrator on 2016/1/30. 3 */ 4 function draw (id){ 5 var canvas = docum ...
- 自定义控件之canvas变换和裁剪
1.平移 //构造两个画笔,一个红色,一个绿色 Paint paint_green = generatePaint(Color.GREEN, Paint.Style.STROKE, 3); Paint ...
- 自定义控件之绘图篇(四):canvas变换与操作
具体操作见下面链接: http://blog.csdn.net/harvic880925/article/details/39080931/
- 小程序canvas 变换
var ctx = wx.createCanvasContext('base'); var centerX = 375/ 2; var centerY = 200; var rotate = 90; ...
- HTML5 程序设计 - 使用HTML5 Canvas API
请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...
- 讲解Canvas中的一些重要方法
Canvas所提供的各种方法根据功能来看大致可以分为几类: 第一是以drawXXX为主的绘制方法: 第二是以clipXXX为主的裁剪方法: 第三是以scale.skew.translate和rotat ...
- html5 Canvas API
详细内容请点击 1.HTML Canvas API有两方面优势可以弥补:首先,不需要将所绘制图像中的每个图元当做对象存储,因此执行性能非常好:其次,在其他编程语言现有的优秀二维绘图API的基础上实现C ...
随机推荐
- Ubuntu16 nginx安装http_image_filter_module模块
目录 配置image_filter 配置 重启nginx 如何安装呢? 安装image_filter模块依赖的库. 查看之前的配置 添加上图片模块[由于它是系统模块,不需要额外下载,直接添加就可以了] ...
- [java]No qualifying bean of type 解决方法
1.错误原因:注解写错 2.原理如下: 现在的spring早就已经摆脱了之前一堆xml配置文件的情况,都是通过注解配置的方式进行依赖注入了,通常情况下,我们会有一个配置类,然后通过Annotation ...
- 在x86为arm 编译 httpd 2.2.31
这个版本的httpd 已经自带 apr apr-util pcre , 不用额外下载源代码 1) 编写环境变量脚本,并执行 cross-env.sh : export ARMROOTFS=/h1roo ...
- HDU - 5917 水题
题意:n个点m条边,找点集个数,点集满足有任意三个点成环,或者三个点互不相连 题解:暴力复杂度O(n^5/120*O(ok))==O(能过) //#pragma comment(linker, &qu ...
- openv+contrib配置总结
本文转载于:https://www.cnblogs.com/wjy-lulu/p/6805557.html 开门见山的说:别用opencv3.0,这个版本添加扩展库不怎么好,能不能成功我不敢说,我是试 ...
- 水晶报表VS2010防止出现用户登录问题
1.联合查询,采用视图办法 2.借用如下语句 using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; ...
- MySQL多表关联查询与存储过程
-- **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积 ...
- 从 TWAIN 设备中扫描图像
转自(http://yonsm.net/scan-images-from-a-twain-device/) 一.简介 TWAIN 数据源管理程序 (DSM) 工业标准的软件库,用于从静态图像设备提取图 ...
- Git标签(版本)管理
列出当前所有的标签 git tag 可以搜索特定的标签,例如你只想看稳定版相关的 git tag -l "*.stable" 给当前commit打标签(设定版本) gi ...
- RabbitMQ 基础类和概念讲解
转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼. ...