【发布时间】:2021-09-25 14:24:12
【问题描述】:
我正在尝试使用 JavaFX GraphicsContext2D 在矩形的中心绘制一个字符串。 我不想使用 JavaFX 组件,所以请不要推荐它们。
例如,我用以下属性绘制一个矩形:x = 10, y = 10, width = 100, height = 100。现在我想以恰好在中心的方式描边文本(水平和垂直) 的矩形。我该怎么做?
【问题讨论】:
-
调用
setTextAlign(TextAlignment.CENTER);和setTextBaseline(VPos.CENTER),然后将文本定位在矩形(55,55)的中心不起作用吗? -
有关上下文,另请参阅相关问题:how to put a text into a circle object to display it from circle's center?,其中讨论了text bounds type。请注意,据我所知,无法为画布设置文本边界类型,并且在场景图中使用布局管理器时更适用,因此此答案可能并不直接适用于您的情况。
-
检查了一个相关示例here。您可能有充分的理由将渲染限制在
Canvas类型的单个Node;它尽可能接近主机平台的渲染管道,但您必须自己管理所有几何图形。随着您的理解不断发展,请不要犹豫,重新审视该决定。
标签: java javafx java-8 graphics