首页 > 解决方案 > Java FontMetrics.getStringBounds(...) 根据 Graphics2D 返回不同的结果

问题描述

FontMetrics.getStringBounds() 返回相同字符串、相同字体的不同结果,具体取决于我是从屏幕上的图形对象(即从 BufferStrategy.getDrawGraphics())还是从通过以下方式获得的 BufferedImage 获取 FontMetrics:

Component.getGraphicsConfiguration().createCompatibleImage(width, height, imageTransperencyMode);

或者直接实例化一个新的 BufferedImage。当 Windows 10 设置为使用缩放时,这似乎会发生。这很烦人,因为这意味着我预渲染到图像的文本(以便稍后更快地显示)与直接渲染到屏幕的文本略有不同。(特别是关于文本布局(例如自动换行))。

对此我能做些什么吗?

标签: javafontstext-rendering

解决方案


推荐阅读