我需要将任意形状的 GraphicsPath“适配”到定义的空间中(几乎总是矩形或圆形)。
我目前使用 Matrix 对象缩放 GraphicsPath 并且缩放工作正常,但问题是获取比例因子。
我能想到的最好的技术是将 GraphicsPath 转换为区域,将 Rectangle 或 Circle 转换为区域,然后执行:
rgnShape.Intersect(rgnCircle);
然后检查是否:
rgnShape.IsEmpty()
但是,这只是告诉我形状是否太大而无法容纳,并且有必要将形状缩放得更小,然后再试一次(可能很多次)。
有没有一种简单的方法可以立即计算缩放因子以适合多边形 GraphicsPath,使其完全适合圆形。结果应该是仍然完全适合圆的最大多边形。