首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Inkscape (矢量图形)

Inkscape (矢量图形)
EN

Stack Overflow用户
提问于 2014-06-03 12:48:31
回答 1查看 4.1K关注 0票数 4

我想在我的应用程序中有漂亮的矢量图形。谁不知道呢?

经过一些研究,我发现有SVG文件格式(和其他一些格式),但是WPF (尽管有它的信条矢量图形,blablabla)不支持它。

我尝试了两个svg库,但它们都是垃圾(所以我不会说它们的名字)。

然后我发现Inkscape (免费的svg编辑器)可以将svg-文件保存为xaml-文件。以下是这类文件的宁静:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform">
    <Canvas Name="svg2" Width="744" Height="1052">
        <Canvas.Resources>
        <!--Unknown tag: inkscape:perspective-->
        </Canvas.Resources>
        <!--Unknown tag: sodipodi:namedview-->
        <!--Unknown tag: metadata-->
        <Canvas Name="layer1">
            <Canvas Name="g2987">
                <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="path2999" Fill="#FFE9E9FF">
                <Path.Data><PathGeometry Figures="m 299.04734 376.6985  ........

现在我的问题是如何使用那些xaml文件?我找到了this的答案,但我仍然不知道如何在按钮内显示我漂亮的矢量东西。它是位于另一个xaml中的Viewbox (不是在定义了窗口/应用程序的地方)。

如何以一种能够轻松显示它的方式组织它,例如:

代码语言:javascript
复制
<Button>
    <Button.Content> ... display it here somehow </Button.Content>
</Button>

并将其保存为单独的文件(不要复制内容或其他任何内容),这样我就可以轻松地更改它或使用Inkscape编辑它。

我想过资源字典,但我能弄清楚那会是什么样子。

P.S.:从另一个角度来看,我可以编写小转换器,这样原始文件将保持为SVG,然后我将它们导出为xaml,最后运行转换器,使其成为 then ,然后我可以轻松地将其作为内容分配给按钮。我需要一些指导,它看起来会是什么样子,仍然是单独的xaml,以及如何将它作为内容附加到按钮上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 13:13:29

从创建ResourceDictionary开始,将导出的视图框添加到其中,并向其添加一个唯一的键

代码语言:javascript
复制
<ResourceDictionary>
    <Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform" x:Key="buttonContent">
        <Canvas Name="svg2" Width="744" Height="1052">
        ...

将字典合并到您的窗口或用户控件,甚至整个应用程序。

代码语言:javascript
复制
<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ButtonDictionary.xaml" />
        </ResourceDictionary.MergedDictionaries>
        ...

然后按下面的方式使用它,以便与按钮一起使用

代码语言:javascript
复制
<Button Content="{StaticResource buttonContent}">

这是一个创建资源字典并使用它们的示例。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24015629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档