3

我试图在 Java 中获取字符串中像素的 XY 坐标,但我不知道如何。

我会尝试更清楚地解释。

假设我想做这样的事情:

paint.setTextSize(40);
canvas.drawText("hello", 100, 100, paint);

但不是实际绘制该文本,我想要一个与该文本中的所有像素相对应的坐标列表,它可以相对于文本或画布的开头,没关系。

这是可能吗?用谷歌找不到任何关于它的东西。

谢谢。

4

2 回答 2

4

我怀疑是否即使不付出很大的努力也是可能的。

一方面,这取决于您使用的字体。

我能想象的唯一方法是在 BufferedImage 内部绘制文本,然后检查每个像素的颜色。

比如说,将它绘制在带有黑色文本颜色的白色背景上。

伪代码:

for each pixel row{
    for each pixel column{
        if(pixel.getColor() == (new Color()).black)
           save coordinates
    }
}
于 2012-10-05T07:29:13.907 回答
1

我认为这应该回答你的问题: 根据文本区域的宽度计算文本大小

您可以确定文本大小,但单个像素取决于字体和重量等参数。

如果您需要单个字符的边界,您可以使用子字符串

于 2012-10-05T07:30:24.123 回答