我有一系列简单的字符串(简单的意思是1-4个字,而不是完整的句子),我想在任意形状内“均匀地”分配。
“均匀”是指文本尽其所能不与其他文本重叠,但所有字符串都不会聚集在一个特定位置。我并不是说文本必须是彼此的最大距离,我只是想尽可能地填充空间。
示例:
我有以下数组:
var array = new [] {"#WhatIDidLastWeek", "Salena Gomez", "#WWF", "#IThinkOomf", "CES" };
我有一个半径为600px
的圆圈,我希望array
中的每个字符串都在该圆圈内并且间距足够大,以至于它们不会重叠并且一般形状为圆圈很明显。
答案 0 :(得分:1)
首先想到的是在您正在使用的任何环境中使用某种MeasureString调用。
基本思想是测量每个单词以确定它是否适合分配的空间。如果它不合适,将其向下移动到下一个“线”。当你的空间不足以适应所有的话时,困难的部分就是做什么。