C# 将SVG数据提取到XAML中
我正在尝试提取SVG数据,并将其显示在我正在处理的项目的WPF表单上。问题是我不能让XAML以SVG的方式显示 SVG图像 SVG代码C# 将SVG数据提取到XAML中,c#,wpf,xaml,svg,C#,Wpf,Xaml,Svg,我正在尝试提取SVG数据,并将其显示在我正在处理的项目的WPF表单上。问题是我不能让XAML以SVG的方式显示 SVG图像 SVG代码 <ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614)" fill="#6DBE45" cx="28.4" cy="28.4" rx="32.5" ry="23.5"/> <ellipse tra
<ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614)"
fill="#6DBE45"
cx="28.4" cy="28.4"
rx="32.5" ry="23.5"/>
<ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412)"
fill="#991B1E"
cx="82.6" cy="28.4"
rx="32.5" ry="23.5"/>
当所有的值(在我的头脑中)似乎都有意义时,我不知道为什么它们显示得非常不同您最好将
Path
元素与椭圆曲线结合使用。与Ellipse
元素相比,它的优点是可以明确指定中心
、半径x
和半径y
属性
现在,您可以使用SVG中的精确值:
<Canvas>
<Path Fill="Green">
<Path.Data>
<EllipseGeometry
Center="28.4 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614"/>
</Path.Data>
</Path>
<Path Fill="Red">
<Path.Data>
<EllipseGeometry
Center="82.6 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412"/>
</Path.Data>
</Path>
</Canvas>
结果是:
您最好将
Path
元素与椭圆曲线结合使用。与Ellipse
元素相比,它的优点是可以明确指定中心
、半径x
和半径y
属性
现在,您可以使用SVG中的精确值:
<Canvas>
<Path Fill="Green">
<Path.Data>
<EllipseGeometry
Center="28.4 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614"/>
</Path.Data>
</Path>
<Path Fill="Red">
<Path.Data>
<EllipseGeometry
Center="82.6 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412"/>
</Path.Data>
</Path>
</Canvas>
结果是:
如何提取数据?您可以使用Inkscape将svg转换为microsoft xaml。另请参见。@Sinatr使用Linq从SVG提取XML,然后逐个提取值。只是使用了一个XAML示例,因为它更容易显示发生了什么,如何提取数据?您可以使用Inkscape将svg转换为microsoft xaml。另请参见。@Sinatr使用Linq从SVG提取XML,然后逐个提取值。只是使用了一个XAML示例,因为它更容易显示出在银行发生了什么,这正是我所需要的Hanks,这正是我所需要的
<Canvas>
<Path Fill="Green">
<Path.Data>
<EllipseGeometry
Center="28.4 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 -11.7477 28.3614"/>
</Path.Data>
</Path>
<Path Fill="Red">
<Path.Data>
<EllipseGeometry
Center="82.6 28.4"
RadiusX="32.5" RadiusY="23.5"
Transform="0.7071 -0.7071 0.7071 0.7071 4.1498 66.7412"/>
</Path.Data>
</Path>
</Canvas>