使用 c# 在 GUI 上指定边界点

本文关键字:边界 GUI 使用 | 更新日期: 2023-09-27 18:33:05

我正在研究模拟器,它有很多点。 我需要知道如何指定最接近四个边界的任何边界的点。即连接闭合形状并忽略中间的点有什么建议吗?

使用 c# 在 GUI 上指定边界点

如果边界形成一个轴对齐的矩形形状(例如,监视器屏幕),则可以取具有最大值和最小值 x 和 y 值的四个点。

您可以枚举所有点并查找最接近边界的点。

伪代码:

var minimumX = int.MaxValue
var maximumX = int.MinValue
var minimumY = int.Maxvalue
var maximumY = int.MinValue
foreach(var point in points)
{
    if (point.x < minimumX) minimumX = point.x;
    if (point.x > maximumX) maximumX = point.x;
    if (point.y < minimumY) minimumY = point.y;
    if (point.y > maximumY) maximumY = point.y;
}

现在,您可以使用最小值和最大值 x 和 y 来创建包含所有点的边框。

性能稍高的方法是在将每个点添加到字段中时跟踪最小值和最大值 x 和 y。这样,就没有必要列举所有点。