Java - 将字符或字符串转换为形状/区域

标签 java string graphics shapes graphics2d

我希望能够将任何字符或字符串转换为形状或区域,以便我可以按照我喜欢的任何大小、样式、效果等来绘制该字符。

更具体地说,我将使用视差绘制它,以便它仅在特定角度清晰定义(这就是为什么我不能使用 html 或任何类似性质的东西)。我已经设置了视差,我只需要形状。

简而言之,public Shape convert(char c){...}

或者,如果您能想到另一种实现此目的的方法,请告诉我。


只是给你一个大概的想法:

writing in clouds

最佳答案

根据 previous answer , 看起来你可以按如下方式管理它(假设这个方法是在 JPanel 的子类上定义的):

public Shape convert(char c) {
    Font f = getFont();
    // Optionally change font characteristics here
    // f = f.deriveFont(Font.BOLD, 70);

    FontRenderContext frc = getFontMetrics(f).getFontRenderContext();
    GlyphVector v = f.createGlyphVector(frc, new char[] { c });
    return v.getOutline();
}

声明采用字符串参数的方法可能更容易,因为您可以将字符串作为第二个参数传递给 createGlyphVector() - 而且这可能比转换每个字符更有效如果您需要做多个,请单独进行。

关于Java - 将字符或字符串转换为形状/区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10633129/

相关文章:

Java 多参数点表示法 - Varargs

java - 关于Java的字符串池的问题

c - 错误 : expected expression before '%' token

c# - 折线图 - 更改边框宽度会删除空间

Java arraylist - 检查在从列表生成随机整数时是否设置了 arraylist 索引中的两项?

java - 并行测试方法

graphics - 尝试使用简单着色器 + VBO 时出现问题

graphics - 用板符号绘制图形模型的软件

java - Selenium 2 Webdriver(无法通过 xpath 找到元素)

c++ - 指针、字符串和溢出错误