web-dev-qa-db-ja.com

SVGがVector Asset Studioに読み込めないのはなぜですか

以下のSVGをAndroid StudioのVector Asset Studioで開くことができず、エラーが発生します。

「プレビュー画像が空です!TareSymbol.svgの解析中の例外:入力文字列の場合:「8.7337904mm」XMLファイルの解析中に例外が発生しました:ファイルの終了が早すぎます。」

次のSVGファイルがVector Asset Studioと互換性がないのはなぜですか?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.1"
   id="svg20235"
   viewBox="0 0 61.500162 30.946501"
   height="8.7337904mm"
   width="17.356712mm">
  <defs
     id="defs20237" />
  <metadata
     id="metadata20240">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     transform="translate(-109.24987,-351.17467)"
     id="layer1">
    <path
       d="m 145.03542,367.34167 10.897,-4.49325 -0.009,3.30587 13.69124,0.0372 1.13537,0 0,2.1285 -1.13537,0 -13.69662,-0.0373 -0.009,3.33988 -10.87325,-4.281 z m -13.38814,-13.15875 0,-3.00825 16.97389,0 0,3.00825 -6.8995,0 0,27.93825 -3.15214,0 0,-27.93825 -6.92225,0 z m 3.31725,13.15875 -10.897,4.49325 0.009,-3.3055 -13.69129,-0.0373 -1.13537,0 0,-2.1285 1.13537,0 13.69662,0.0372 0.009,-3.33988 10.87325,4.28063 z"
       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
       id="path20212" />
  </g>
</svg>

enter image description here

33
Luke Allison

Inkscapeで生成された.svgファイルをAdobe Illustratorにインポートしてエクスポートすると、この問題は100%修正されました。

6
Luke Allison

Android Studio Vector Asset Studioは現在、SVGのすべての機能をサポートしていません。この tool を使用して、SVGをVectorDrawableに変換できます。

それが役に立てば幸い。

34
user6154174

代わりにmmを使用するには、svgの幅と高さをpxから変更する必要があります。これは、問題が修正されるまで保留中の現在の回避策です。

バグ報告は既に提出されています こちら

13
Kingsley Adio

数時間を費やした後、私は問題を理解し、外部のsvg2vectordrawableスクリプトを使用しても解決できませんでした。

図形のサイズおよび/またはドキュメントのページサイズには、幅/高さに14.134や3.5などの浮動小数点数を含めることはできません

形状とページの幅と高さはintegers!でなければなりません

10
idish

@ Kingsley Adioが言ったように、SVGドキュメントにはpx単位を使用する必要があります。
Inkscapeでは、カスタムページサイズを作成し、出力単位をpxに設定することで管理できました。

Inkscape Document Properties

9
DenisGL

Vector Assetツールを使用してSVGをインポートしようとしたときに機能したもののコンパイル(これらは相互に排他的ではありません):

  • 値をmmからpxに変更します(通常はwidth/height属性にあります)
  • 値を整数に丸めます(通常、width/heightまたはviewBoxまたはstyle属性にあります)。 224.5が好きです。これはポリゴンで行う必要はありませんが、SVGノードでのみ行う必要があります。
1
xarlymg89

このようなエラーを引き起こす可能性のあるさまざまなオプションがあります(そのうちのいくつかはここにリストされています)。

原因は、.svgファイルでrgba(r,g,b,a)を使用している可能性があります。見つかったら変換してください。

ヒント:任意のファイルエディターで.svgファイルを編集できます。

0
Hannes .T

設定で言語を変更すると助けになりました!コンピューターの言語としてオランダ語を使用し(浮動小数点の代わりにコンマが使用されている)、英語に変更して再起動するとうまくいきました。

0
Hester

テキストをオブジェクトに変更すると、この問題は修正されました。 Inkscapeを使用している場合:最初のクリック Ctrl+K (パス結合)その後 Ctrl+J (動的オフセット)。

0
Hill Karimov