0

我需要绘制一个文本行,其中一些指定的字符将被任意多边形替换。这些多边形必须直接使用drawPolygon用 Graphics 绘制。方法。虽然 Unicode 包含一系列图形符号,但它们不适用于此任务。

我想知道是否可以在字符串中出现该字符的任何实例中用多边形替换字符?例如,如果我输入单词“Holly”并点击“enter”,第一个字母将被多边形替换。如果然后我输入“蓟”这个词,多边形的新位置会代替第二个字母吗?

任何帮助/指导将不胜感激。

4

3 回答 3

1

假设实际的多边形以 Unicode 表示,您所要做的就是字符串替换。

System.out.println("Hello".replace('H', '\u25C6'));

生产

◆你好

于 2013-02-02T21:51:43.533 回答
0

如果你想显示一个多边形,可能最简单的方法是选择一个 Unicode 符号 有很多带有图形内容的(甚至是雪人)

于 2013-02-02T21:38:39.803 回答
0

这对于FontMetrics是完全可行的,它允许测量使用给定字体打印的字符串的尺寸。使用 FontMetrics 确定计算字符串片段的位置,然后在其间绘制字符串片段和多边形。

如果多边形必须以某种方式非常特殊(可能是非 Unicode 字符?),或者它们所需的尺寸与使用字体中的字母尺寸非常不同,这种方法似乎是合理的。

在 Java 早期,当 Unicode 支持还不是很好时,以这种方式绘制不受支持的国家字符的情况并不少见。

于 2013-02-02T21:52:51.140 回答