gpt4 book ai didi

java - 在 Android Canvas 上围绕字符串放置一个矩形

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:00 25 4
gpt4 key购买 nike

所以我使用 Canvas.drawTextCanvas 上绘制一些字符串。问题是我想在它之前绘制一个矩形,以便文本显示在矩形的中心。但是我遇到了一个真正的问题。为 drawText 提供的 xy 坐标实际上不是真实文本的“左上角” ,而是在字符开始的那一行。有一种方法 Paint.getTextBounds 返回一个矩形,该矩形位于将要绘制的文本的 (0,0) 处“具有隐含的原点”。问题是原点位于 (0,0)。该框的宽度和高度是正确的,但我不知道如何将其左上角放置在 Canvas 上绘制的字符串的左上角。我想我应该使用 FontMetrics,但由于 FontMetrics 返回的很多值都没有记录,所以我不确定如何将它们用于我的目的。

最佳答案

我最后做了

FontMetrics fm = new FontMetrics();
paint.setTextAlign(Paint.Align.CENTER);
paint.getFontMetrics(fm);
canvas.drawText(text, x, y + -(fm.ascent + fm.descent) / 2, paint);

它实际上以 x, y 为中心绘制文本。在此之前,我绘制了一个以 xy 为中心、宽度为 paint.measureText(text)

关于java - 在 Android Canvas 上围绕字符串放置一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317484/

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