我正在尝试在Java中获取字符串中像素的XY坐标,但我不知道如何实现。
我将尝试更清楚地解释一下。
假设我想要做这样的事情:
paint.setTextSize(40);
canvas.drawText("hello", 100, 100, paint);
但是,我不想真的绘制那个文本,我希望得到一个坐标列表,该列表对应于所有可能位于文本中的像素,这些坐标可以相对于文本或画布的起点,都可以。
这种操作是否可行?在谷歌上找不到任何相关信息。
谢谢。
我正在尝试在Java中获取字符串中像素的XY坐标,但我不知道如何实现。
我将尝试更清楚地解释一下。
假设我想要做这样的事情:
paint.setTextSize(40);
canvas.drawText("hello", 100, 100, paint);
但是,我不想真的绘制那个文本,我希望得到一个坐标列表,该列表对应于所有可能位于文本中的像素,这些坐标可以相对于文本或画布的起点,都可以。
这种操作是否可行?在谷歌上找不到任何相关信息。
谢谢。
我怀疑这是否可能,除非付出巨大的努力。
首先这取决于您使用的字体。
我唯一能想象的方法是在BufferedImage上内部绘制文本,然后检查每个像素的颜色。
例如,在白色背景上绘制黑色文本。
伪代码:
for each pixel row{
for each pixel column{
if(pixel.getColor() == (new Color()).black)
save coordinates
}
}