您现在的位置是:首页 > 正文

html矩形坐标理解,理解Canvas坐标系

2024-01-30 23:43:02阅读 0

如下图所示,`canvas`元素的坐标系统 是一个二维网格,它的坐标系是以左上角为原点,向右延伸是横坐标 `x` 的正方向,向下延伸 是纵坐标 `y` 的正方向,所以原点的坐标是 `(x,y) = (0,0) `。

![](https://img.kancloud.cn/9a/5c/9a5cdba6475802c57f1d5cfdb76a91f5_329x266.png)

弄清楚以后使用 `canvas` 的 `API` 意义重大,在绘图的时候需要时刻记住坐标空间。

在以后会讲到的 `fillRect` 方法拥有参数 `(0,0,150,75)` ,意思是:在画布上绘制 `150*75` 的矩形,从左上角 `(0,0)` 开始。

>案例:使用`JavaScript`来获取`Canvas`坐标,当鼠标移到矩形框上时,显示定位坐标。

```

canvas

οnmοuseοver="cnvs_getCoordinates(event)" οnmοuseοut="cnvs_clearCoordinates()">

//定位坐标并输入

function cnvs_getCoordinates(e) {

x = e.clientX;

y = e.clientY;

document.getElementById("xycoordinates").innerHTML = "Coordinates:(" + x + "," + y + ")";

}

//清除内容

function cnvs_clearCoordinates() {

document.getElementById("xycoordinates").innerHTML = "";

}

```

程序运行效果如下图所示:

![](https://img.kancloud.cn/79/5d/795de636f3ce0912ff535ced7c1087d5_503x145.png)

网站文章

  • java swing的四种常用布局

    java swing的四种常用布局

    第三种卡片布局可用于完成简单的抽奖程序,这个还是挺有趣的。 一:流式布局FlowLayout 实现代码: import java.awt.FlowLayout ; import javax.swing.JFrame ; import javax.swing.JButton ; class Tester { public static void main(String a...

    2024-01-30 23:42:32
  • QString拼接

    QString str1 = "Welcome";//传递一个const char* 类型的ASCII字符“Welcome”,会调用QString的构造函数str1 = str1 +" to you!";qDebug()QString str1 = "Welcome";QString str2 = " to";str1.append(str2);str1.app

    2024-01-30 23:42:25
  • Linq 多条件组合拼接排序

    using System; using System.Web; using Uzai.Shop.Entity.comment; using System.Collections.Generic; using Uzai.Shop.BLL.comment; using System.Linq; using System.Web.Script.Serialization; /// /// tanyo

    2024-01-30 23:42:17
  • Linux Command Line 解析

    0处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的。在进行后续分析之前,先来理解一下command line的处理模型:...

    2024-01-30 23:41:48
  • 15、慢查询原理和实战,及最快优化方法,优化工具

    15、慢查询原理和实战,及最快优化方法,优化工具

    show [session|global] status like … 如果不写 [session|global] 默认是session 会话,只取出当前窗口的执行,如果想看所有(mysql 启动到现在应该使用 global)可以通过如下命令计算QPS 和 TPS。

    2024-01-30 23:41:40
  • asp.net html验证,asp.net core2.2多用户验证与授权示例详解

    asp.net html验证,asp.net core2.2多用户验证与授权示例详解

    前言asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇:我的项目有两类用户:微信公众号用户,用户名为公众号的openid企业微信的用户,用户名为企业微信的u...

    2024-01-30 23:41:33
  • 【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分) 1、今天有被破防吗? 0x1 最早上的一批题目,当时没什么思路。后来pwn神在群里提到了RGB,瞬间懂了! 参考链接: gaps拼图 0x2 下载附件得到一个...

    2024-01-30 23:41:27
  • python-10

    纯函数实现面向对象-人狗大战、初识面向对象、类和对象相关的知识、对象和类的命名空间、

    2024-01-30 23:40:57
  • 用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器Mips31个寄存器Mips指令入门Mips内存安排C#实现项目结构Token.cs,定义Mips汇编语言的TokenConvertHelper.cs,作为进制转换类...

    2024-01-30 23:40:50
  • Leetcode 数组拆分 I

    给定长度为2n的数组, 你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4). 提示: n是正整数,范围在 [1, 10000...

    2024-01-30 23:40:41