gpt4 book ai didi

java - 在获取 Graphics 实例之前获取 FontMetrics

转载 作者:行者123 更新时间:2023-12-01 05:56:33 24 4
gpt4 key购买 nike

通常,我会获得如下所示的图形实例:

BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();

但是,在我正在处理的当前项目中,上面的 widthheight 变量取决于稍后将要显示的多个文本片段的大小。绘制到图形实例上。但是,为了获取所使用字体的尺寸,我通常会使用从图形对象获取的 FontMetrics。

FontMetrics metrics = g.getFontMetrics();

所以,我有一个令人讨厌的小依赖循环。在知道文本的大小之前,我无法创建图形对象;在拥有图形对象之前,我无法知道文本的大小。一种解决方案是首先创建另一个 BufferedImage/Graphics 对,以便获取我需要的 FontMetrics 实例,但这似乎没有必要。

  • 那么,有更好的方法吗?
  • 或者字体的宽度、高度等属性是否在某种程度上取决于文本绘制的对象(图形、组件...)?

最佳答案

也许您可以尝试从其他地方获取 Graphics 实例。例如,将在其上绘制图像的面板。然后您可以使用该 Graphic 实例获取 FontMetrics 实例。

关于java - 在获取 Graphics 实例之前获取 FontMetrics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com