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