为了账号安全,请及时绑定邮箱和手机立即绑定

以 Svg 形状写入缩放文本

以 Svg 形状写入缩放文本

慕丝7291255 2023-03-17 14:05:10
我正在尝试为 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 对象不提供任何方法来找到形状的真实中心。
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

您需要将 SVG 元素嵌套在具有固定纵横比的 SVG 容器中。然后,您可以根据根容器 SVG 的固定纵横比为 HTML 文本或 SVG 文本建立字体大小。



查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号