java - 有没有一种简单的方法可以使用 java Graphics 2D 对象淡入字符串字符?

标签 java string fade graphics2d

我希望使用 Graphics2D 对象将字符串逐个字符绘制到屏幕上,让它们淡入。

我最初将字符串拆分为字符,并绘制了每个单独的字符,但遇到了每个字母之间适当间距的问题(因为每个字母的像素数量不同。)有没有一种简单的方法可以实现此目的?

g.drawString(currentLine(j), 250, 770+j*20);

对比

        for(int i = 0; i < currentLine(j).length(); i++) {
            String chr = new StringBuilder().append("").append(currentLine(j).charAt(i)).toString();
            g.drawString(chr, 250+i*10, 770+j*20);
        }

最佳答案

使用“GlyphVector”获取文本的宽度和高度。

String testString = "A";
GlyphVector gv = g.getFont().createGlyphVector(g.getFontRenderContext(), testString);
Rectangle textBound = gv.getOutline().getBounds();
double textHeight = textBound.getHeight();
double textWidth = textBound.getWidth();

关于java - 有没有一种简单的方法可以使用 java Graphics 2D 对象淡入字符串字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55934900/

相关文章:

html - 向下移动/从顶部平移时淡入元素的方法?

jquery - 如果另一个元素具有类,则更改元素的可见性

java - 我想通过 ID 号在对象的数组列表中搜索特定付款并显示它

java - 在所有项目中运行单元测试,即使有些失败

c - 如何在数组中存储数组元素

jQuery 淡入淡出跳转到页面顶部

Java 绘制形状错误

java - Log4j 属性被忽略

C:字符数组数组按字母顺序排序

java - Java中如何分割字符串?