C# 坐标系

一、概述

从数学角度讲,Point是一个二维矢量,包含两个公共整型属性,属性用大写X和Y(c#中公共属性一般约定以大写字母开头)。当坐标不是整数值是float时,用PointF代替Point使用。

常用的Size和Point结构其实相同,也有两个整型属性Width和Height,也有变体SizeF,但两者使用方式不同。Point是说明实体在什么地方,而Size用于说明实体多大,它们之间可以显示转换。一个Point和一个Size可以组成一个Rectangle。另外Point和Size可以进行加减运算:point-size=point;size+size=size;但是point+point (是错误的),Point相加会认为没有意义。

  1. 一类是 屏幕坐标系,以显示屏左上角为(0,0)点的坐标,横坐标从左到右增加,纵坐标从上到下增加。

  2. 第二类是 窗体坐标系,以winform窗体左上角为(0,0)点,横坐标从左到右增加,纵坐标从上到下增加。

  3. 第三类是 窗体控件坐标系,以该控件的左上角为(0,0)点,横坐标从左到右增加,纵坐标从上到下增加。

并提供了这三类坐标相互转换的方法,如PointToClient()、PointToScreen()等。

二、鼠标在窗口中的坐标;

鼠标事件中,鼠标位置使用的是第二类的窗口坐标系。可以使用PointToScreen()方法将鼠标坐标转换为屏幕坐标系。

Point p = this.PointToScreen(new Point(e.X, e.Y));

三、坐标合成:Point.Offset(Point p)

可以将两个point坐标进行合成

Original: https://www.cnblogs.com/zeroone/p/9770828.html
Author: 武胜-阿伟
Title: C# 坐标系

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/554430/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mstar安卓智能电视方案源代码常用修改

    优先 替换 Supernova\projects\customerinfo\inc\Customer_Info.h替换 内核中linux/drivers/mmc/core/mmc….

    技术杂谈 2023年5月31日
    091
  • vuex里mapState,mapGetters使用详解

    一、基本用法 1. 初始化并创建一个项目 2. 安装 vuex 3. 在 src 目录下创建 store.js 文件,并在 main.js 文件中导入并配置 store.js 中写…

    技术杂谈 2023年5月31日
    0101
  • 【Golang】golang开发微信公众号网页授权功能

    基本流程 微信公众号服务号的网页授权功能开发,主要是通过js跳转到一个微信提供的url 然后微信会弹出获取昵称头像的按钮 允许获取后,会回跳到我们的网址上,并且带着一个code参数…

    技术杂谈 2023年6月1日
    081
  • P2P在NAT和STUN

    转自:https://blog.csdn.net/a1989a132/article/details/17139003 本文主要讨论关于P2P通信的一些常见问题和解决方案。主要内容…

    技术杂谈 2023年6月1日
    093
  • Xperf Analysis Basics(转)

    FQ不易,转载 I started writing a description of how to examine CPU Sampling data in xperf and r…

    技术杂谈 2023年5月31日
    082
  • CRC校验

    ​ 一:CRC概念 1.1、参考博客 参考的教程如下: 手算CRC及其实现 CRC校验算法原理分析 一文讲透CRC校验码-附赠C语言实例 CRC校验(手算与直观演示) CRC(循环…

    技术杂谈 2023年6月21日
    0103
  • VIM简单配置

    配置vim配置 编辑配置文件 feng@mint ~ $ vim ~/.vimrc 配置如下主要配置为自动换行,设置行号,设置tab键为4个空格,同时将tab键自动转换成空格 se…

    技术杂谈 2023年6月21日
    077
  • Python—类属性

    1. 属性 属性是属于对象的 数据或者 函数元素,通过句点标识符访问。 2. 类的数据属性 类的数据属性是指定义在类中的变量,不带self声明,这种变量是静态的(相当于C++中的静…

    技术杂谈 2023年7月11日
    074
  • windows 下安装xampp 相关过程即错误处理。

    xampp的安装和相关设置: 参考文献如下:https://blog.csdn.net/weixin_42449422/article/details/113280976上述文章讲…

    技术杂谈 2023年6月21日
    091
  • 微信小程序用vant,dialog弹出框

    官网如下: https://youzan.github.io/vant-weapp/#/dialog 看效果 1、json中引入 "usingComponents&quo…

    技术杂谈 2023年5月31日
    0100
  • 3、Swift协程详解:调用协程

    我们现在已经知道怎么定义异步函数了,也可以很轻松的转换将现有的异步回调 API 转成异步函数。那下一个问题就是,既然普通函数不能调用异步函数,那定义好的这些异步函数该从哪儿开始调用…

    技术杂谈 2023年6月1日
    086
  • 斜率优化

    斜率优化 直接看例题 例题:P3195 解析 转移方程很简单: 这里(f[i])表示前(i)个物品的最优代价。(a)为(c)(如题目)的前缀和。 [a[i]=\sum_{j=1}^…

    技术杂谈 2023年6月21日
    0108
  • MySQL将一个表的数据插入到另外一张表中

    需求:将A表中指定查询条件的数据,插入到B表中。 INSERT INTO ap_base_categories ( category_name, category_id, pare…

    技术杂谈 2023年7月11日
    080
  • 你真的懂Python命名吗?

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/7417a7f0.html 大家好,我是测试蔡坨坨。 今天,我们来聊一下Python命名那些事儿。 名为…

    技术杂谈 2023年7月11日
    077
  • UE4《空山新雨后》电影级短片制作研修班 1-16周 完整版

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    094
  • nodejs文本文件的读写

    文本文件的换行符 方法一:var EOL = fileContents.indexOf(“\r\n”) >= 0 ? “\r\n&#822…

    技术杂谈 2023年5月31日
    0107
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球