SVG形状のスケーリングされたテキストを書きます

アレクサンドルGoriunov:

私は、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オブジェクトは、形状の本当の中心を見つけるために、任意の方法を提供していません。

jcdsvg:

あなたは巣に固定アスペクト比のSVGコンテナ内のSVG要素を必要としています。あなたは、どちらのHTMLテキストまたはルートコンテナSVGの固定アスペクト比との関係でSVGのテキストのフォントサイズを設定することができます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=228492&siteId=1