2017-07-06 24 views
17

私は手動で、またはWebツールを使用して逆の変換(SVGをVectorDrawable)にしました。VectorDrawableをSVGに変換

しかし、私は反対のことをするのに苦労しています。私はVectorDrawableを持っていますが、私はそれをSVGに変換する方法がわかりませんし、それを行うゼロのオンラインツールを見つけることができます。

誰もがこれを経験しており、それを実行するための手順やツールは何ですか?

+2

https://www.w3schools.com/graphics/svg_path.aspを参照してください。あなたがする必要があるのは、 'path d =" ... "'をxml vector drawableから取ったデータで置き換えることです。 – pskink

+0

@pskink Iそのようなことをしました。私はより良い自動化された方法があると思った。とにかくありがとう – sandalone

+1

あなたのためにそれをやっている小さなPythonスクリプトを書いてください – pskink

答えて

21

手順私は、次のとおりです。

android:pathData

fillColorなし fill

VectorDrawable中のパスに置き換えd

android:fillColorに置き換えSVGでfill="none"です。

android:viewportHeight="24" android:viewportWidth="24"は、SVGでviewBox="0 0 24 24"です。

ベクトル描画領域

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="24dp" 
    android:height="24dp" 
    android:viewportHeight="24" 
    android:viewportWidth="24"> 

    <path 
     android:fillColor="#ffffff" 
     android:pathData="M12,3L2,12h3v8h2.5v-0.8c0-1.5,3-2.2,4.5-2.2s4.5,0.8,4.5,2.2V20H19v-8h3L12,3zM12,15.2c1.2,0-2.2-1-2.2-2.2 s1-2.2,2.2-2.2s2.2,1,2.2,2.2S13.2,15.2,12,15.2z" /> 
    <path android:pathData="M0,0h24v24H0V0z" /> 
</vector> 

SVG

<svg xmlns="http://www.w3.org/2000/svg" 
    width="24" 
    height="24" 
    viewBox="0 0 24 24" > 

    <path 
     fill="#ffffff" 
     d="M12,3L2,12h3v8h2.5v-0.8c0-1.5,3-2.2,4.5-2.2s4.5,0.8,4.5,2.2V20H19v8h3L12,3zM12,15.2c1.2,0-2.2-1-2.2-2.2 s1-2.2,2.2-2.2s2.2,1,2.2,2.2S13.2,15.2,12,15.2z" /> 
    <path d="M0,0h24v24H0V0z" fill="none"/> 
</svg> 
+0

これは大きな助けとなりましたあなたのSVGには私が思う閉じタグがありません。それ以外の場合は、Illustratorで検証したり開いたりしていないようです。 –

6

VectorDrawableフォーマットはSVGにかなり類似しています。

あなたはVectorDrawable形式here、およびSVG形式hereのドキュメントのドキュメントを見つけることができます。

ベクトル描画可能なxmlをsvgに変換するthis Python scriptと書いたばかりです。 ベクトル描画可能なすべてのプロパティをカバーするわけではありませんが、最も一般的な描画可能プロパティで動作します。 xmlファイルをスクリプトにドロップするだけで、ファイルが変換されます。

+0

for the linux?何もしないでください –

+0

@СергейГрушин私はWindows上でスクリプトを試しましたが、Linuxでも動作するはずです。コンソールにエラーがあるかどうかを確認する必要があります。おそらくxmlモジュールはインストールされていませんか?この場合、 'pip install xml'を実行してください。 – Hyperion

+0

スクリプトはコマンドラインでのみ動作します。ありがとう。しかし、私はドラッグアンドドロップしたいので、 'Exec = python/opt/utils/xml2svg 'というデスクトップショートカットを作成します。py%U'これで、ファイルをドラッグしてデスクトップのショートカットにドロップすることができます:)また、2つのものを編集しました: '.xml'プレ拡張なしでsvgファイル名を変換した後にソースXMLファイルを削除します。 –

関連する問題