pki*_*sky 5 java string kerning graphics2d
我正在尝试逐个字符地绘制字符串,以将光照效果添加到由文本组成的形状中.
while (i != line.length()) {
c = line.substring(i, i + 1);
cWidth = g.getFontMetrics().stringWidth(c);
g.drawString(c, xx += cWidth, yy);
i++;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当这两个字符作为字符串打印时,字符的宽度不是从另一个字符绘制的实际距离.有没有办法在graphics2d中获得正确的距离?
我不确定我是否正确理解了你的问题。但是,我测试了您的代码,确实有些字符串字符相互重叠。
问题在于您增加xx值的方式(您在绘制角色之前增加了它)。
这是代码的更正版本:
public void myDrawString(Graphics g, String line, int xx, int yy) {
int i = 0;
while (i != line.length()) {
String c = line.substring(i, i + 1);
int cWidth = g.getFontMetrics().stringWidth(c);
g.drawString(c, xx, yy);
xx += cWidth;
//xx += 2;
i++;
}
}
Run Code Online (Sandbox Code Playgroud)
取消注释并调整行xx += 2以增加字符之间的间距。
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |