首页 > 解决方案 > 如何计算矩形的 x1, y1, x2, y2, x3, y3, x4, y4

问题描述

我需要在图像上找到一个矩形的位置。矩形点位置正在闲置 [X1, Y1, X2, Y2][7608,1638,7663,1680]我也知道 ImageHeight: 4096并且Width: 8192我需要在其上绘制矩形。该矩形将作为 WFS 层托管在 GeoServer 中。但是,要可视化形状,我需要计算 x1, y1, x2, y2, x3, y3, x4, y4, x5, y5 somethink like this [[7047,2451],[7021,2266],[6749,2231] ,[6777,2392],[7047,2451]] 从上面给定的值。我怎样才能做到这一点?我知道 x5 ,y5 将与 x1, y1 相同,因为它是关闭的。

我相信对你们中的许多人来说这是一个非常基本的问题,但对我来说它很复杂。

标签: c#imagegeometry

解决方案


如果你有点minX, maxX, minY, maxY, 并且如果我们谈论的是一个直角的水平矩形,那么这四个点通常是:

(minX, minY)-► ■ ═════════════════ ■ ◄-(maxX, minY)
               ║                   ║
               ║                   ║
               ║                   ║  Height = maxY - minY
               ║                   ║
               ║                   ║
(minX, maxY)-► ■ ═════════════════ ■ ◄-(maxX, maxY) 

                Width = maxX - minX

这假设我们正在处理(0, 0)左上角的矩形,这在窗口应用程序中很常见。如果 GeoServer 矩形布局不同,请进行相应调整。


推荐阅读