工作区坐标与屏幕坐标的转换



创建如下窗口,panel1Size为(328,246),button1中为测试代码。

1.属性Location理解

this.Location相对于屏幕的位置

panel1.Location相对于窗体的位置

labelX1.Location相对于panel1的位置

labelX3.Location相对于窗体的位置

结论:控件Location属性的值是相对于其父容器的,以父容器左上角的值为(00)为基准。

 

 

 

2.控件的工作区坐标与屏幕坐标转换

我理解为控件的工作区坐标即为Location的坐标,若转为屏幕坐标,需调用父容器控件的PointToScreen方法。若屏幕坐标转工作区坐标,调用父容器控件的PointToClient

例如:得到图中labelX1labelX3的屏幕坐标。

Point labelX1ScreenPoint=panel1.PointToScreen(labelX1.Location);

Point labelX3ScreenPoint = this.PointToScreen(labelX3.Location);

 

屏幕坐标转工作区坐标

Point labelX1ClientPoint=panel1.PointToClient(labelX1ScreenPoint);

Point labelX3ClientPoint = this.PointToClient(labelX3ScreenPoint);

 

3.工作区矩形的大小以屏幕坐标表示

控件1.RectangleToScreen(控件2.ClientRectangle);

返回一个矩形,XY为控件1在屏幕坐标系中的XYSize为控件2.ClientRectangleSize

例如:

Point labelX3ScreenPoint =this.PointToScreen(labelX3.Location);//先转化为屏幕坐标

得到labelX3ScreenPoint X=148Y=356

Rectangle rectangle =labelX3.RectangleToScreen(panel1.ClientRectangle);

得到rectangleX=148Y=356Width=328Height=246

 

上面RectangleToScreen方法的实参为一个控件工作区的矩形,如果我们代入一个人一般的矩形,得到的矩形的XY是否仍为控件1在屏幕坐标系中的XY,结果是否定的。

例如:

Point labelX1ScreenPoint =panel1.PointToScreen(labelX1.Location);

labelX1ScreenPoint {X = 298 Y = 398}

Rectangle sourceRectangle= newRectangle(panel1.Left, panel1.Top, panel1.Width, this.panel1.Height);

sourceRectangle{X = 71 Y = 37 Width= 328 Height = 246}

Rectanglerectangle =labelX1.RectangleToScreen(sourceRectangle);

rectangle{X = 369 Y = 435 Width = 328Height = 246}从这里可以看出,得到的矩形XY并不为控件labelX1的屏幕坐标。原因是什么呢?

我发现“控件.ClientRectangle”得到后的矩形,其X,Y坐标都为0。而这里的sourceRectangle矩形XY并不为0

总结:我理解为当调用RectangleToScreen方法时,形参使用某控件的ClientRectangle,而不要使用其它参数。(个人理解,不知道是否正确)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原 理 介 绍 目录: 1.1 介绍 1.2 模具加工的需求 1.3 3 轴,3+2 轴或 5 轴铣削加工方式 1.4 运动形式 1.5 CNC 独立编程 1.6 刀具半径补偿原理 1.7 什么是框架结构 1.8 精度, 速度和表面精度 1.9 模具加工 CNC 程序的结构 1.10 刀具定向在 5 轴加工中运用 1 1.1 介绍 5 轴加工是为复杂工件,特别是在刀具和模具的加工,是以 CAD-CAM-CNC 的 一整套处理为基础的。 编写本手册旨在给CAM 工作站的CNC 编程员以及机床操作工提供更多的帮助 和指导, 使编程和实际加工更能有机的结合起来。 自动精修 SINUMERIK 840D 控制系统具有强大的功能,在大大简化 5 轴编程工作及加 工过程的同时, 可以更有效地提高加工精度。 2 1.2 刀具加工及模具加工的需求 模型结构加工 模具的设计标准已经日益被人们所关注, 加 工效率,加工精度以及简洁的外观造型愈发 变得重要了。 设计过程要靠 CAD 系统, 而复杂表面的加 工程序则来源于 CAM 工作站。 涡轮及涡片加工 由西门子公司生产的 SINUMERIK 840D 控 制系统可以满足刀具和各种模具加工的要 求。 在传统的 2 1/2 D 范围内,3 轴和 5 轴的高 速加工过程具有相同性能: 1.具有良好的操作性能 2.友好的编程界面 3.在 CAD-CAM-CNC 的处理循环中具有优 越的适应性 4.最大程度的提高机床品资 阀门加工 3 现代铣削加工中心的 5 轴加工 模具表面加工质量,加工速度已经变越来越重要了: 复杂表面的加工 加工三维曲线表面时能获得最佳的切割条件 … 有孔的倾斜面 使用 3+2 个轴可以在任意位置进行几何图形加 工 (刀具轴的角度设置可以发生变化)… 深槽加工 可以进行深槽的铣削加工 5 轴动态加工 除 3 个直线轴 X, Y, Z 以外,还可以使用 2 个旋 转轴 A,B 或 C 轴.
坐标转换问题 坐标转换问题的详细了解对于测量很重要,那么请和我一起来讨论这个问题。 首先,我们要弄清楚几种坐标表示方法。大致有三种坐标表示方法:经纬度和高程,空间直角坐标,平面坐标和高程。 我们通常说的WGS-84坐标是经纬度和高程这一种,北京54坐标是平面坐标和高程着一种。 现在,再搞清楚转换的严密性问题,在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换这时不严密的。举个例子,在WGS-84坐标和北京54坐标之间是不存在一套转换参数可以全国通用的,在每个地方会不一样,因为它们是两个不同的椭球基准。 那么,两个椭球间的坐标转换应该是怎样的呢?一般而言比较严密的是用七参数法,即X平移,Y平移,Z平移,X旋转,Y旋转,Z旋转,尺度变化K。要求得七参数就需要在一个地需要3个以上的已知点,如果域范围不大,最远点间的距离不大于30Km(经验值),这可以用三参数,即X平移,Y平移,Z平移,而将X旋转,Y旋转,Z旋转,尺度变化K视为0,所以三参数只是七参数的一种特例。在本软件中提供了计算三参数、七参数的功能。 在一个椭球的不同坐标系转换需要用到四参数转换,举个例子,在深圳既有北京54坐标又有深圳坐标,在这两种坐标之间转换就用到四参数,计算四参数需要两个已知点。本软件提供计算四参数的功能。 现在举个例子说明:在珠江有一个测,需要完成WGS-84坐标到珠江坐标系(54椭球)的坐标转换,整个转换过程是 这样的: WGS-84经纬度 WGS-84空间直角 七参数转换 北京54空间直角 北京54经纬度 坐标投影 北京54平面坐标 四参数转换 珠江平面坐标 三个已知点 计算七参数 一个已知点 计算三参数 投影参数设置 两个已知点 计算四参数 本软件使用说明: 本软件采用文件化管理,用户可以将一种转换作为一个文件保存下来,下次使用时从文件菜单中选择打开这个文件来调用所有已有的转换参数。 实例一: 转换要求: 用户在一个佛山测内使用RTK GPS接收机接受了一些点的WGS-84的坐标,现在希望将其转换为北京54和佛山坐标系下的坐标。用户有佛山测的一些控制点,这些控制点有WGS-84坐标,也有北京-54坐标也有佛山坐标。 分析: WGS-84坐标和北京54坐标是不同两个椭球的坐标转换,所以要求得三参数或七参数,而北京54和佛山坐标都是同一个椭球,所以他们之间的转换是地方坐标转换,需要求得地方转化四参数,因为要求得到的北京54是平面坐标所以需要设置投影参数。: 步骤: 1. 新建坐标转换文件,便于下次使用转换是不用重新输入,直接打开即可。 2. 设置投影参数。 3. 用一个已知点(WGS84坐标和北京54坐标),计算不同椭球转换的三参数(或七参数)。 4. 确定转换参数。 5. 打开七参数转换,完成WGS84到北京54的转换。 6. 利用多个已知点(北京54坐标和佛山坐标),计算同一个椭球的地方坐标转换(四参数)。 7. 确定转换参数 8. 同时打开七参数和四参数。完成WGS-84到佛山坐标转换。 实例二: 转换要求: 用户在一个测内有一些点的北京54的坐标,现在希望将其转换为国家80坐标。用户有测的一些控制点,这些控制点既有北京-54坐标也有国家80坐标。 文件转换 用户如果需要转换的是一个文件里的所有的点,可以用文件转换来完成。 1. 确定转换关系: 按照上面的步骤完成1~8步的操作,这样就确立了转换关系,也就是说文件里所有的点都按照上面确定的转换关系来完成转换。 2. 确定转换格式: 在主界面中选择文件转换,点击格式按钮。 新建格式:在名称,扩展名中输入相应的内容,然后自己选择数据列表中的内容并添加来确定格式,如果列表中没有的就用其他来表示,完成后点击完成新建。 选择格式:在格式列表中选择格式 文件转换方式:转换后的文件有三种方式,如原来的文件是C:\File.txt文件,用户选择其中的一种,这样转换后就会根据这个方式来完成新建文件。却省是在文件扩展名后+1,即转换后会新生成一个C:\File.txt1文件。 在上述工作完成后,单击确定按钮即可。 3. 选择转换文件并完成转换 单击浏览按钮,打开文件选择对话框,选择文件并确定,在左边会显示文件,用户单击 =〉按钮即可完成转换,右边会显示出转换后的文件名和路径,用户可以通过双击列表中的文件即可查看文件内容。 实例三: 转换要求: 用户在番禹工作,要求完成从WGS-84到国家80的转换,由于测范围比较大,需要进行七参数转换。 注意:这个例子同样适合于直接从WGS-84坐标转换为地方坐标转换。 分析: 首先分析坐标:因为七参数转换模型的特点,要求转换坐标不能相差太大, WGS-84的坐标为:023:09:33.6274 112:55:41.2119 62.536 国际80坐标为: 562589.8110 290115.8140 70.3590 用WGS-84不加任何参数转化为平面坐标为:2562588.851341 390232.479605 可以看到 X的大数差-2000000 Y的大数差-100000 所以改变投影参数里的X,Y常数改正为 X常数:0-2000000=-2000000 Y常数:500000-100000=400000 一、设置投影参数 二、计算七参数 选择坐标转换菜单下的“计算七参数“,打开如图对话框 选择好源坐标和目标坐标的类型,源坐标和目标坐标的椭球基准,输入源坐标和目标坐标,点击“增加“按钮,就会将刚才的公共点坐标输入到列表中,同样的方法至少输入三个已知点到列表中,点击“计算“按钮,就可以看到计算的结果,同时在”RMS”中会显示使用这套参数後计算後每个点的坐标中误差,如果发现误差过大,可能坐标中由输入错误的,这时可以通过在列表中选择不同的站点计算,直到满意为止。完成后点击“确定“按钮。 三、七参数设置 单击“确定“按钮即可设置好了七参数 四、完成转换 选择“七参数转换“打钩,就可以完成了,完成后点击保存,下次就可以使用同样的参数。 上述的方法同样适合于从WGS-84直接转换为地方坐标,关键是确定好投影参数的X,Y常数。
### 回答1: 我们需要将颜色从RGB(红绿蓝)空间转换为更自然的表示形式,即CIE(国际照明委员会)色度图。 CIE色度图测量了人眼对颜色的感受,通过x、y和z值来表示。 要将RGB颜色转换为CIE x、y坐标,我们需要使用一个称为“色度图转换矩阵”的公式。该公式将RGB值与实际的感知颜色之间的关系进行映射,从而提供更准确的CIE坐标转换矩阵的值基于一组参考白色点,通常是标准光源D65。经过转换之后,我们得到了一个表示颜色的x和y坐标。 另一方面,如果我们有CIE x、y坐标,并需要将其转换为RGB颜色值,则需要使用相反的公式,即x、y和z值通过另一个公式映射到RGB空间中。从CIE x、y坐标到RGB颜色值的转换需要使用反色度图变换矩阵,它是色度图转换矩阵的逆矩阵。 因此,通过这两个公式,我们可以在RGB颜色空间和CIE色度图之间轻松地进行转换。这些转换对于图形设计、印刷和视觉艺术等领域非常重要。 ### 回答2: xy色坐标和RGB是不同的颜色表示方式。xy色坐标是基于人眼视觉感知的三原色理论,它描述了一种颜色在色盘上的位置,通常用于表示白光下的颜色。而RGB则是一种光学原理,表示一个颜色由红、绿、蓝三种原色光混合形成的比例。通常用于数字设备上,包括电脑显示器和手机屏幕等。 在进行xy色坐标和RGB的相互转换时,需要使用数学公式或在线工具。若要将xy色坐标转换为RGB,需要知道颜色的亮度值Y,再使用以下公式: R = X / Y * 1.612 - Y / 0.42 G = 1.0 * Y / 0.67 - 0.514 * R - Y / 0.42 B = Y * (2.25 - X / Y) / 0.67 其中X和Y是xy色坐标中的值。若要将RGB转换为xy色坐标,则可以采用以下公式: x = R / (R + G + B) y = G / (R + G + B) 在实际应用中,通常使用在线颜色转换工具来进行xy色坐标和RGB之间的转换,这些工具可以快速准确地实现颜色的转换,并且不需要进行繁琐的计算。 ### 回答3: xy色坐标和RGB是两种常用的颜色表示方式。它们之间相互转换可以为我们的设计、印刷等工作提供方便。 xy色坐标是一种以CIE XYZ色彩空间为基础的色彩表示方式,通常用于LED灯或显示器的颜色校准。其中,x、y两个参数定义了色点在色度图上的位置,其值都在0到1之间。 而RGB则是红、绿、蓝三原色的混合方式,一般用于电子设备显示器的颜色表达。其中,R、G、B三个参数定义了颜色在三原色上的取值,其值范围均为0到255。 将xy色坐标转换为RGB,需要借助CIE XYZ色彩空间。具体步骤为:先通过xy坐标计算出其在CIE XYZ色彩空间中的值,再将CIE XYZ空间中的数值转换为RGB值。而将RGB转换为xy坐标,则需要使用逆转换计算。 总的来说,xy色坐标与RGB之间的相互转换需要借助特定的计算公式和工具,需要具备一定的计算能力和相关知识。掌握这种转换技巧,可以为我们处理不同设备中的颜色问题提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值