- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通常,我会获得如下所示的图形实例:
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
但是,在我正在处理的当前项目中,上面的 width
和 height
变量取决于稍后将要显示的多个文本片段的大小。绘制到图形实例上。但是,为了获取所使用字体的尺寸,我通常会使用从图形对象获取的 FontMetrics。
FontMetrics metrics = g.getFontMetrics();
所以,我有一个令人讨厌的小依赖循环。在知道文本的大小之前,我无法创建图形对象;在拥有图形对象之前,我无法知道文本的大小。一种解决方案是首先创建另一个 BufferedImage
/Graphics
对,以便获取我需要的 FontMetrics
实例,但这似乎没有必要。
最佳答案
也许您可以尝试从其他地方获取 Graphics 实例。例如,将在其上绘制图像的面板。然后您可以使用该 Graphic 实例获取 FontMetrics 实例。
关于java - 在获取 Graphics 实例之前获取 FontMetrics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777535/
我需要找到在屏幕上绘制的文本的宽度。 This thread建议 FontMetrics.stringWidth() 有时不如 FontMetrics.getStringBounds() 准确。 有谁
我正在制作一个程序,我需要在其中设置 FontMetrics 对象中的字体。我之前已经创建了 fontmetrics,但现在我不能再访问 Graphics 对象了。然而,我想更改 FontMetric
由于我从事 LWJGL 项目,因此遇到了显示文本的问题。理论上,我想迭代(扩展)ascii 表并将所有字符的每个纹理保存在 ArrayList 中。 但我的问题是,在创建字符图像时它不会获得正确的尺寸
我需要在屏幕上绘制一些内容,但这需要字体规范才能正确绘制。我还需要使用 repaint() 或其他东西来立即绘制到屏幕上。 如果我有 paintComponent(Graphics) 方法,我可以通过
我想获得面板上字符串的准确高度(以像素为单位)。所以我写了一个程序来绘制字符串,然后在它周围绘制一个矩形。 使用 FontMetrics 我使用 getStringBounds 方法获取封闭矩形。 但
当我查看 FontMetric.getAscent() 的 javadoc 时,我看到: The font ascent is the distance from the font's baselin
如何在不使用 Graphics 的情况下获取 FontMetrics ?我想在构造函数中获取 FontMetrics,现在我这样做: BufferedImage bi = new BufferedIm
我正在为 Java 簿记程序创建的 GUI 的一部分需要显示不同的字符串。在显示此 String 之前,它必须在适当的地方添加换行符。为此,我创建了一个扩展 JTextArea 的类,并重写了 set
运行以下代码: import java.awt.Font; import java.awt.FontMetrics; public class MetricsTest { public sta
有没有比更友好的方法来获取 FontMetrics 的实例 FontMetrics fm = Graphics.getFontMetrics(Font); 我讨厌这种方式,因为下面的例子: 如果你想在
我当前正在使用指定字体将字符串绘制到 Canvas 上。但是,我想根据窗口大小缩放此字体。 给定一个目标字符串,如何找到特定字体的点大小,以便打印目标字符串的高度为 h 单位或 w 单位宽的?点大小和
通常,我会获得如下所示的图形实例: BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
我正在使用 Qt 5.2,我目前正在尝试从 QTableView 打印一个表格,但是我在根据内容计算行高时遇到了这个问题。我现在得到的是下面的循环,它循环遍历 QTableView 行并使用 boun
我有一个问题。如果我在那里使用东方语言,我的应用程序界面工作起来会慢得多。特别是在 JList、JCombobox、JTable 等组件中,我感受到了它。 如果文本中至少有一个字母是阿拉伯语或波斯语,
我使用 stringWidth("str") 计算字符串的宽度FontMetrics上的方法目的。这个方法只给了我上从起点到终点的宽度。基线 .不是字符串的总宽度。 关于如何计算整体宽度的任何想法?
如下图所示,在JPanel(500X500)上绘制了一个AttributedString。 该 AttributedString 的 FontMetrics.getStringBounds() 给出的
我有一个 Android 应用程序,可以根据 Android 设备的分辨率动态缩放文本。我已经在 Android 模拟器中的所有预定义分辨率上测试了这段代码,我的代码工作正常。 (这包括与 HTC D
已知 给定FontMetrics Font 中的 FontMetrics 有一个 protected 构造函数。 问题: 给定一个Font 对象,有没有一种方法可以构造一个FontMetrics 对象
这似乎是一个基本问题,但我在 SO 上找不到类似的问题。阅读时documentation ,我在理解概念时遇到了麻烦。我想了解 top 之间的区别是什么和 ascent还有 bottom和 desce
我是一名优秀的程序员,十分优秀!