我有一张代表一些地形的地图。我已经研究出如何将这张地图分解为岛屿、海洋、海洋、大陆等“区域”。地图的分解方式完全是任意的,我可能会将其分解为政治边界。
对于每个“区域”,我知道作为该“区域”一部分的每个像素以及每个像素坐标。我现在想动态调整和定位标记它的文本。
首先,获取文本的大小似乎相当简单(类似于总面积 * 0.5),但让我感到困惑的是定位。我可以得到绝对中心坐标,但这不能保证在质量中心,因此将文本定位在此处可能使其完全位于“区域”之外(在 U 形区域的情况下)。
给定最大数量的曲线,弯曲路径以适应最大尺寸的文本会很好。因此,在 U 形中,它还会尽可能多地绘制 U 形(保持在最大曲线量以下),文本大小刚好足以适合该区域的范围。
有没有人有任何建议或链接来帮助解决这个问题?我正在使用 C++ 和 SFML2.1,但我很高兴得到一些理论。