当前位置: 首页 > wzjs >正文

安徽鲲鹏建设集团有限公司网站seo建设者

安徽鲲鹏建设集团有限公司网站,seo建设者,青岛 网站备案,企业网站建设哪家效果好文章目录 坐标系的平移、缩放与旋转平移旋转缩放镜像 自定义的坐标变换 坐标系的平移、缩放与旋转 平移 translate() 方法通过在网格上将画布和原点水平移动 x 单位和垂直移动 y 单位,向当前矩阵添加一个平移变换。 示例-移动矩形 const canvas document.getElem…

文章目录

  • 坐标系的平移、缩放与旋转
    • 平移
    • 旋转
    • 缩放
    • 镜像
  • 自定义的坐标变换


坐标系的平移、缩放与旋转

平移

translate() 方法通过在网格上将画布和原点水平移动 x 单位和垂直移动 y 单位,向当前矩阵添加一个平移变换。

在这里插入图片描述

示例-移动矩形

在这里插入图片描述

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");// 移动的正方形
ctx.translate(110, 30);
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 80, 80);// 重置当前的变换矩阵为单位矩阵
ctx.setTransform(1, 0, 0, 1, 0, 0);// 未移动的正方形
ctx.fillStyle = "gray";
ctx.fillRect(0, 0, 80, 80);

旋转

rotate(angle) 方法用于在变换矩阵中增加旋转。

angle 顺时针旋转的弧度。如果你想通过角度值计算,可以使用公式: degree * Math.PI / 180 。旋转中心点一直是 canvas 的原点。如果想改变中心点,你可以通过 translate() 方法移动画布。

示例-围绕中心旋转矩形

在这里插入图片描述

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");// 未旋转的矩形
ctx.fillStyle = "gray";
ctx.fillRect(80, 60, 140, 30);// 矩阵变换
ctx.translate(150, 75);
ctx.rotate(Math.PI / 2);
ctx.translate(-150, -75);// 旋转后的矩形
ctx.fillStyle = "red";
ctx.fillRect(80, 60, 140, 30);

缩放

scale() 方法用于根据水平和垂直方向,为 canvas 单位添加缩放变换。

默认情况下,在 canvas 中一个单位实际上就是一个像素。例如,如果我们将 0.5 作为缩放因子,最终的单位会变成 0.5 像素,并且形状的尺寸会变成原来的一半。相似的方式,我们将 2.0 作为缩放因子,将会增大单位尺寸变成两个像素。形状的尺寸将会变成原来的两倍。

示例-缩放矩形

在这里插入图片描述

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");// 缩放后的矩形
ctx.scale(9, 3);
ctx.fillStyle = "red";
ctx.fillRect(10, 10, 8, 20);// 将当前变换矩阵重置为单位矩阵
ctx.setTransform(1, 0, 0, 1, 0, 0);// 未缩放的矩形
ctx.fillStyle = "gray";
ctx.fillRect(10, 10, 8, 20);

镜像

镜像也叫水平或垂直翻转,你可以使用 scale(-1, 1) 来将上下文水平翻转,使用 scale(1, -1) 来将其垂直翻转。

在这里插入图片描述

const canvas = document.getElementById('canvas')
const ctx = canvas.getContext('2d')ctx.font = '32px serif'
ctx.fillText('Hello', 10, 80)
ctx.translate(canvas4.width, 0)
ctx.scale(-1, 1)
ctx.fillText('Hello', 10, 80)

自定义的坐标变换

Canvas 的绘图环境对象提供了两个可以直接操作变换矩阵的方法:

transform() 方法用于修改当前的变换矩阵。它接受六个参数:a、b、c、d、e、f,分别对应水平缩放、水平倾斜、垂直倾斜、垂直缩放、水平平移和垂直平移。这个方法不会重置当前的变换矩阵,而是在当前矩阵的基础上进行修改。

setTransform() 方法则不同,它会将当前的变换矩阵重置为单位矩阵,然后根据提供的参数(a、b、c、d、e、f)构建一个新的矩阵。这意味着每次调用 setTransform() 时,之前的变换都会被重置,新的变换从零开始。

ctx.setTransform(1, 0, 0, 1, 0, 0); 这行代码会重置当前的变换矩阵为单位矩阵,并设置一个新的单位矩阵。

在这里插入图片描述

如果一个点原始坐标为 (x,y),那么经过变换后,它的坐标将变为 (ax+cy+e,bx+dy+f)。这意味着:

  • e 和 f 控制上下文的水平和垂直平移。
  • 当 b 和 c 为 0 时,a 和 d 控制上下文的水平和垂直缩放。
  • 当 a 和 d 为 1 时,b 和 c 控制上下文的水平和垂直倾斜。
http://www.dtcms.com/wzjs/163785.html

相关文章:

  • 网络营销公长沙官网seo技术
  • 微信里面的小程序百度seo点击软件
  • 南京网站建设学习海外推广渠道
  • 怎么建设网站数据库个人网站的制作
  • 做网站要建立站点吗文山seo
  • 西宁高端网站建设站内优化怎么做
  • 宝山北京网站建设推广平台
  • 营销型网站建设实战感想优化电脑的软件有哪些
  • 广州商砼建站规范公众号seo排名软件
  • 网站建设费的摊销年限b站推广网站2024mmm
  • 光谷 网站建设公司搜狗输入法下载安装
  • 网站怎么做图片按按钮跳转广州百度网站推广
  • 做电影网站放抢先版网络推广员每天的工作是什么
  • excel做注册网站媒体发稿费用
  • wordpress 远程网站seo推广公司靠谱吗
  • 找外包公司做网站给源码吗seo关键词排名优化案例
  • 软件网站建设基本流程培训机构排名一览表
  • 建设网站规划书快推广app下载
  • 怎么改网站上的logo技术培训
  • 如何用ps做网站ui怎么制作网站教程
  • 桂林网站建设短信营销
  • 学校建设微网站的方案设计站长工具seo推广 站长工具查询
  • 网店运营入门基础知识专业网站优化外包
  • wordpress 上传漏洞快手seo
  • 沧州网站制作教程百度地图排名可以优化吗
  • 做网站都需要买什么千博企业网站管理系统
  • 西安未央区做网站宁波seo搜索引擎优化公司
  • 招远网站建设公司什么软件可以免费引流
  • 做雇主品牌的网站seo必备软件
  • 网站里的动画是什么软件做的网络整合营销推广