Asset Studio で、Inkscape で作成した SVG 画像を扱うとき、Inkscape 特有のタグなどのせいでエラーが発生する場合は「プレーンSVG」として保存すれば良さそう。
ただ、この場合は Inkscape のデータが失われる。
グラデーションに関しては上記では解決せず、
例えば ic_launcher.svg などを Inkscape で作って Asset Studio でアップロードしようとすると
ERROR @ line 83: Gradient has no stop info
これは Inkscape が以下のように、実際に適用するグラデーションを分離して定義するせいで stop 要素のない linearGradient が作られてしまうのが原因と思われる。
<linearGradient
inkscape:collect="always"
id="linearGradient4389">
<stop
id="stopShadow0"
offset="0"
style="stop-color:#000000;stop-opacity:0.40000001" />
<stop
id="stopShadow1"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4389"
id="linearGradient4395"
gradientTransform="translate(0,-2)"
gradientUnits="userSpaceOnUse"
y2="98"
x2="94.57196"
y1="37.802406"
x1="30" />
これは xlink:href
属性で単純にリンクされているだけなので、以下のように統合すれば解決する。
<linearGradient
id="linearGradient4395"
gradientTransform="translate(0,-2)"
gradientUnits="userSpaceOnUse"
y2="98"
x2="94.57196"
y1="37.802406"
x1="30">
<stop
id="stopShadow0"
offset="0"
style="stop-color:#000000;stop-opacity:0.40000001" />
<stop
id="stopShadow1"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
1 件のコメント:
Arigato!. Have been looking for this solution for hours :)
コメントを投稿