【问题标题】:Create a Shape Object from Font Object in Java在 Java 中从字体对象创建形状对象
【发布时间】:2012-10-15 21:33:35
【问题描述】:

我有一个字体对象和一个字符串。我想返回一个表示字符串的形状对象。我有一大堆其他类将显示字符串并处理它。

当我没有拥有 graphics/graphics2d 对象时,我无法弄清楚如何执行此操作。有什么帮助吗?我已经搜索了网络,但无法找到有用的链接。

public class SpecializationOfTester extends ParentTester {

    private String      str;
    private Font        font;


    public SpecializationOfTester(String str, Font font) {
        this.font = font;
        this.str = str;
    }

    public Shape getShape()
    {
        Shape           s;
        //
        //
        return s;
    }

}

谢谢

【问题讨论】:

  • 你总是可以创建一个Graphics2d 对象。
  • 我可以使用最终得到的 Shape 并稍后将其添加到不同的 Graphics 对象吗?
  • 我猜是这样。在最坏的情况下,Graphics2D 对象将被 Shape 持有并消耗一些内存。
  • 如果这个类扩展了父类,我能做到吗?我改变了我的例子
  • 每个类都扩展了其他类。如果您不明确扩展,则使用“对象”。

标签: java swing graphics fonts awt


【解决方案1】:

您可以使用GlyphVector#getOutline(),如here 所述。您可以在BufferedImage 中创建图形上下文,如Using Headless Mode in the Java SE Platform 中所述。

另请参阅这些吸引人的示例:

【讨论】:

  • Also a relevant example 从图形对象中获取Shape
  • 嘿,我读了它,它奏效了!我能够用我创建的形状做我需要的事情,并且一切都(奇怪地)完美地工作!感谢所有帮助的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 2019-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多