2017-06-29 12 views
0

私はInkscapeで開いたsvgを持っていて、xamlとして保存します。私が見るxamlを見ると、xamlにはいくつかの要素がありません。このファイルをxamlに保存する方法はありますか?あるいは、Inkscapeに、エラーが発生しないような方法で要素を変更する方法がありますか?ここでの結果のXAMLInkscapeは正しいxamlを保存しません

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="480" width="640" viewBox="0 0 640 480"> 
    <defs> 
    <path id="a" fill="#ffde00" d="M-.588.81L0-1 .588.81-.952-.31H.952z"/> 
    </defs> 
    <path d="M0 0h640v480H0z" fill="#de2910"/> 
    <use xlink:href="#a" transform="matrix(71.9991 0 0 72 119.999 120)" width="30" height="20"/> 
    <use xlink:href="#a" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.291 47.996)" width="30" height="20"/> 
    <use xlink:href="#a" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 287.95 95.796)" width="30" height="20"/> 
    <use xlink:href="#a" transform="matrix(6.5991 -23.0749 23.0746 6.59919 287.959 168.012)" width="30" height="20"/> 
    <use xlink:href="#a" transform="matrix(14.9991 -18.73557 18.73533 14.99929 239.933 216.054)" width="30" height="20"/> 
</svg> 

そして:出力に不足しているHREF:あなたは5のxlinkがあることがわかります

<?xml version="1.0" encoding="UTF-8"?> 
<!--This file is NOT compatible with Silverlight--> 
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform"> 
    <Canvas Name="svg17" Width="640" Height="480"> 
    <Canvas.RenderTransform> 
     <TranslateTransform X="0" Y="0"/> 
    </Canvas.RenderTransform> 
    <Canvas.Resources> 
     <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="a" Fill="#FFFFDE00" x:Key="a"> 
     <Path.Data> 
      <PathGeometry Figures="M-.588.81L0-1 .588.81-.952-.31H.952z" FillRule="NonZero"/> 
     </Path.Data> 
     </Path> 
    </Canvas.Resources> 
    <!--Unknown tag: metadata--> 
    <!--Unknown tag: sodipodi:namedview--> 
    <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="path5" Fill="#FFDE2910"> 
     <Path.Data> 
     <PathGeometry Figures="M0 0h640v480H0z" FillRule="NonZero"/> 
     </Path.Data> 
    </Path> 
    </Canvas> 
</Viewbox> 

は、ここに私のSVGです。

+0

xlink:href属性が移植されないことが予想されます。 SVGはXAMLではありません。 –

+0

xamlファイルでリソース "a"を使用するのは簡単だと思いませんか?手元には正確な構文がありませんが、xamlでも可能なはずです。 – MTR

+0

それはありますが、あなたはSVGがすべて一緒に別の獣であることを理解する必要があります。 Pathデータ要素([example](https://stackoverflow.com/questions/43350165/is-there-any-way-to-make-geometrydrawing-interactive-from-the-ui)からイベントなどを取得することはできます-or-how-to-loa/43355097#43355097)) –

答えて

0

興味のある方は、Inkscapeの回避策を見つけました: svgにxlinksがなくなったので、すべての要素に「リンクを解除」を使用してください。

関連する問題