Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-将字符或字符串转换为形状/区域_Java_String_Graphics_Shape_Graphics2d - Fatal编程技术网

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

Java-将字符或字符串转换为形状/区域,java,string,graphics,shape,graphics2d,Java,String,Graphics,Shape,Graphics2d,我希望能够将任何字符或字符串转换成形状或区域,这样我就可以以我喜欢的任何大小、样式、效果等绘制该字符 更具体地说,我将使用视差来绘制它,这样它只能在某个角度清晰地定义(这就是为什么我不能使用html或任何类似的东西)。我已经设置好了视差,我只需要形状 简而言之,publicshapeconvert(charc){…} 或者,如果你能想出另一种方法来实现这一点,请让我知道 给你一个大概的想法: 根据a,您似乎可以按如下方式管理它(假设此方法是在JPanel的子类上定义的): 声明采用字符串参数的

我希望能够将任何字符或字符串转换成形状或区域,这样我就可以以我喜欢的任何大小、样式、效果等绘制该字符

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

简而言之,
publicshapeconvert(charc){…}

或者,如果你能想出另一种方法来实现这一点,请让我知道


给你一个大概的想法:

根据a,您似乎可以按如下方式管理它(假设此方法是在
JPanel
的子类上定义的):

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

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();
}