使用 XAML 文件作为矢量图像源 [英] Using a XAML file as a vector Image Source

查看:42
本文介绍了使用 XAML 文件作为矢量图像源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望能够使用矢量图形(最好在 XAML 中定义)作为图像控件的源,就像我目前可以使用像 PNG 这样的光栅图像一样.这样我就可以轻松地在位图和矢量图像之间混合和匹配,如下所示:

I would like to be able to use vector graphics, preferably defined in XAML, as the Source of an Image control, just like I can currently use a raster image like a PNG. That way I could easily mix and match between bitmap and vector images, like this:

<StackPanel>
    <Image Source="Images/Namespace.png"/>
    <Image Source="Images/Module.xaml"/>
</StackPanel>

Module.xaml 很可能将 作为其根元素,而不是 .

Module.xaml would most likely have <DrawingImage> as its root element instead of <UserControl>.

实际上,我真正想要的是这样,所以我的 ViewModel 可以自行选择光栅或矢量图像:

Actually, what I'm really going for is this, so my ViewModel could select either a raster or vector image at its discretion:

<Image Source="{Binding ImageUri}"/>

这可能吗?Image.Source 可以从给定的 URI 加载 XAML 类吗?还是只能加载位图资源?

Is this possible? Can Image.Source load XAML classes from a given URI? Or is it only able to load bitmap resources?

推荐答案

您可以简单地将矢量图形引用为 StaticResources:

You can simply reference your vector graphics as StaticResources:

<Image Source="{StaticResource MyImage}" />

将图像作为 DrawImage 存储在 ResourceDictionary 中.Expression Blend 可以帮助您生成这些内容:

Store the images in a ResourceDictionary as DrawImage's. Expression Blend can help you generate this stuff:

<ResourceDictionary
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

   <DrawingImage x:Key="MyImage">
      <DrawingImage.Drawing>
         <DrawingGroup>
            <DrawingGroup.Children>
               <GeometryDrawing Brush="Black" Geometry="M 333.393,... 100.327 Z "/>
               <GeometryDrawing Brush="Black" Geometry="F1 M 202.309,... Z "/>
                      :
            </DrawingGroup.Children>
         </DrawingGroup>
     </DrawingImage.Drawing>
   </DrawingImage>

</ResourceDictionary>

这篇关于使用 XAML 文件作为矢量图像源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆