将一个矩形的坐标变换到另一个矩形

2023-11-22

enter image description here

在上图中我显示了两个矩形

  • 矩形1其 x 的变化范围为 -900 到 13700,Y 的变化范围为 -600 到 6458
  • 矩形2其坐标 X 可以在 0 到 3000 之间变化,y 可以在 0 到 2000 之间变化

Also: 矩形2其起点位于左上角位置(0,0),而矩形1有起点(宽度/2,高度/2)。

我需要做什么: 转换一个点矩形1到点矩形2使用缩放或平移。

那么,比例因子应该是多少x and y坐标以便变换坐标矩形1 to 矩形2?


If:

Rectangle 1 has (x1, y1) origin and (w1, h1) for width and height, and
Rectangle 2 has (x2, y2) origin and (w2, h2) for width and height, then

Given point (x, y) in terms of Rectangle 1 coords, to convert it to Rectangle 2 coords:

xNew = ((x-x1)/w1)*w2 + x2;
yNew = ((y-y1)/h1)*h2 + y2;

以浮点数进行计算,然后再转换回整数,以避免可能的溢出。


在 C# 中,上面的代码看起来像:

PointF TransformPoint(RectangleF source, RectangleF destination, PointF point)
{
    return new PointF(
        ((point.X - source.X) / source.Width) * destination.Width + destination.X,
        ((point.Y - source.Y) / source.Height) * destination.Height + destination.Y);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将一个矩形的坐标变换到另一个矩形 的相关文章

  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 从文件路径显示图像视图?

    我需要仅使用文件名而不是资源 ID 来显示图像 ImageView imgView new ImageView this imgView setBackgroundResource R drawable img1 我在可绘制文件夹中有图像
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 将 r 中的一列从出生日期更改为年龄

    我是第一次使用 data table 我的表中有大约 400 000 个年龄的列 我需要将它们从出生日期转换为年龄 做这个的最好方式是什么 我一直在思考这个问题 到目前为止对这两个答案都不满意 我喜欢用lubridate 就像 KFB 所做
  • mysql 查询选择当月的所有行?

    我有一个名为 startdate 的日期时间类型的列 我必须获取当前月份的开始日期和结束日期之间的所有行 即从 1 11 2014 到 30 11 2014 select from your table where year curdate
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 除了 Erlang 之外,还有哪些系统是基于“绿色流程”的?

    我正在阅读这个信息页面绿线 维基百科 http en wikipedia org wiki Green thread我想知道 除了 Erlang 之外 还有哪些编程系统依赖于 绿色进程 Edit 绿线 绿色流程 基于绿色流程 Erlang
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要
  • LifeCycleAware Fragment 中的片段生命周期事件

    我有一个生命周期感知片段和一个LifecycleObserver class public class MyFragment extends Fragment Override public void onCreate Nullable B
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 混合本机/托管可执行文件中的最终托管异常处理程序?

    我有一个使用 clr 编译的 MFC 应用程序 并且我正在尝试为未捕获的托管异常实现最终处理程序 对于本机异常 重写CWinApp ProcessWndProcException works 杰夫的书中提到的两个事件代码项目文章 http
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • 部分声明,不得指定不同的基类

    我知道互联网上有这方面的信息 并且我已经搜索过 但我仍然收到错误 有人能指出我做错了什么吗 基类 using System using System Collections Generic using System Linq using S
  • Python 入口点“console_scripts”未找到

    我无法在 python 包中导入入口点控制台脚本 寻求帮助调试我当前的问题 因为我已经阅读了有关该问题的所有相关帖子 这是我的目录结构 ContentAnalysis init py command line py document py
  • AttributeError:“tuple”对象没有属性“append”[重复]

    这个问题在这里已经有答案了 谁能帮我处理这段代码吗 Jobs openFile open Jobs txt x 1 while x 0 Stuff openFile readline x if Stuff Jobs append Stuff
  • 跨浏览器自定义光标样式

    我用img标签显示世界地图 我将图像映射与它关联起来以超链接某些区域 我覆盖了一个带边框的框 div 指示可以单击和缩放某个区域 现在 为了向用户展示它是这样做的 我希望光标更改为放大镜形状 我浏览了一下网络 发现了一些可以在 firefo
  • 我怎么知道 dll 不是调试版本

    我如何确定我的生产服务器使用发布构建 dll 有没有办法在dll中找到该信息 重复 如何判断 net应用程序是在DEBUG还是RELEASE模式下编译的 如何检查 DLL 是否经过调试编译 如果它是c DLL 那么您可以使用ildasm P
  • IE9 JavaScript 数组初始化错误

    显然 IE9 中的 JS 实现在处理数组文字方面包含 IMO 严重 错误 在 IE9 中某些情况下这段代码 var a 1 2 3 4 将创建长度为 5 的数组 最后一个元素等于undefined 以下是我的 KiTE 引擎测试页面的两个版
  • 以编程方式将按钮添加到布局

    我在向用 XML 创建的布局添加按钮时遇到问题 这就是我想要实现的目标 some class else startActivity new Intent StatisticsScreen this ScreenTemperature cla
  • 如何使用 FB.UI 自动发布?

    我有stream publish权限 但它仍然弹出一个对话框 并且似乎没有任何方法可以传递autopublish bool 就像在图形API之前一样 编辑 还尝试了offline access和stream publish 关于如何让它发挥
  • 如何使用实体框架包含排序的导航属性[重复]

    这个问题在这里已经有答案了 我有一个实体A与集合B里面 我用一个加载它们 entity A Include a gt a B 现在我想让 B 进入 A 按自定义 OrderBy 排序 我试过 entity A Include a gt a
  • Eclipse EGIT - 所有已提交、拉取、合并、标记为合并,仍在推送中我被“拒绝 - 非快进”,我错过了什么?

    我开始尝试使用 Git 我确信我错过了一些东西 因为我无法进行简单的合并和推送 这是我所做的 我可能以错误的顺序 或者任何顺序错误 如果是 请纠正 pull 同步工作区 关于冲突 进行了手动合并 然后 标记为已合并 有必要吗 其余 允许自动
  • Java中Friend概念的实现[重复]

    这个问题在这里已经有答案了 如何在 Java 如 C 中实现友元概念 Java没有C 中的friend关键字 然而 有一种方法可以模拟这一点 一种实际上可以提供更精确控制的方法 假设您有类 A 和 B B 需要访问 A 中的某些私有方法或字
  • PostGis距离计算

    我现在正在做一个室内地图导航应用程序 我想做的是建立建筑物中地图点的数据库 我使用的所有坐标均取自 Google 地图 这意味着 EPSG 为 3857 我现在需要做的是找到以米为单位的距离并使用以米为单位的 D Within 当我尝试提取
  • UITableView 中何时调用 tableView:numberOfRowsInSection: ?

    tableView numberOfRowsInSection发送到 UITableView 的委托以找出给定部分中需要有多少行 我的问题是 这个方法何时以及多久被调用一次 该方法在第一次加载表视图时被调用 如果您对委托更感兴趣 那么放置一
  • 如何有条件地禁用 routerLink 属性?

    在我的 Angular 2 应用程序中 我尝试禁用 routerLink 但没有成功 我试图处理点击事件click事件 与event preventDefault and event stopPropagation 但它不起作用 如何禁用
  • npm install 会导致类似 npm ERR! 的错误! Debian 上的 tar.unpack 解压错误

    安装 Grunt 如下所示引导文档如图所示 我首先安装了grunt cli全球范围内与npm install g grunt cli现在我正在尝试执行npm install 但只收到错误 root devvm var www axit po
  • 设备管理API,如何成为设备所有者?

    我想用DevicePolicyManager方法 setSecureSetting 此方法需要配置文件或设备所有者 由配置文件或设备所有者调用以更新 Settings Secure 设置 我的应用程序已激活设备管理 因为当我打电话时isAd
  • 从 PHP url 编码字符串中删除所有反斜杠

    我试图从 url 解码字符串中删除所有反斜杠 但它输出 而不是输出删除了 的 url 解码字符串 请你告诉我我的问题 你想使用stripslashes 因为这正是它的用途 看起来也更短 echo urldecode stripslashes
  • Selenium webdriver:如何找到元素的所有属性?

    在 Python Selenium 模块中 一旦我有WebElement对象我可以获取它的任何属性的值get attribute foo elem get attribute href 如果属性名为 href 不存在 None被返回 我的问
  • 实现 ListFragment 时隐藏“正在加载...”指示器

    我已经使用创建了显示Fragments 两者都填充了从互联网上提取的数据 虽然代码本身按预期工作 没有任何问题 但其中一个片段 实现为ListFragment 在片段内显示一个不确定的进度指示器 该指示器偏向一侧 我希望删除指示器并使用不同
  • 将一个矩形的坐标变换到另一个矩形

    在上图中我显示了两个矩形 矩形1其 x 的变化范围为 900 到 13700 Y 的变化范围为 600 到 6458 矩形2其坐标 X 可以在 0 到 3000 之间变化 y 可以在 0 到 2000 之间变化 Also 矩形2其起点位于左