我正在尝试为 Android 上的每个 Svg 形状绘制一个带有位置编号的缩放文本。
像这样的东西: http://static-4.app4smart.me/uploads/posts/thumbs/13284/f-9553-1971d66549.jpg
有谁知道如何实施?主要问题是找到将文本放置在形状内的更好位置,并根据 svg 形状的大小对其进行缩放。
实际上我想出了如何放置和缩放文本,如下例所示:
<svg x="0px" y="0px"
viewBox="0 0 800 800" style="enable-background:new 0 0 800
800;" xml:space="preserve">
<polygon style="fill:#E2BE9C;" points="509.8,704.8 517.4,799.3
436.4,799.3 399.5,757.9 409.6,661.6 440,620.3 "/>
<text xmlns="http://www.w3.org/2000/svg" x="458" y="709" text-
anchor="middle" textLength="20" lengthAdjust="spacingAndGlyphs"
font-
size="10">Hey!</text>
</svg>
在这里,我只获取 Path 对象的 RectF 并获取我放置文本的确切中心。但是我仍然找不到放置文本的更好位置以及必须缩放文本的大小。
因为对于这样的形状,不能应用这种方法。
<svg x="0px" y="0px"
viewBox="0 0 800 800" style="enable-background:new 0 0 800
800;" xml:space="preserve">
<polygon style="fill:#58585A;" points="201.7,175.9 294.4,146.9
414.9,170.2 252.5,191.4 159.6,231.3 110.1,263.9 127.4,226 "/>
</svg>
对于元素,这种方法也不好。看来我必须在 svg 形状内找到最大的矩形,并在这个矩形内放置我的文本,缩放到矩形尺寸。知道怎么做吗?
来自 android.graphics 包的 Path 对象不提供任何方法来找到形状的真实中心。
慕丝7291255
aluckdog
随时随地看视频慕课网APP
相关分类