Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - Vector graphic image

 
 
Old 11-29-2007   #1 (permalink)
Oriane


 
 

Vector graphic image

Hi there,

I would like to import a vector image (which is in a database, but this is
not my point) in a WPF application. I can find function to load bitmap image
but can't see no way to import svg/emf/eps... images. Is it a limitation of
WPF ?

Regards


My System SpecsSystem Spec
Old 11-29-2007   #2 (permalink)
Serge Baltic


 
 

Re: Vector graphic image

Hello,
Quote:

> I would like to import a vector image (which is in a database, but
> this is not my point) in a WPF application. I can find function to
> load bitmap image but can't see no way to import svg/emf/eps...
> images. Is it a limitation of WPF ?
Avalon can't be aware of all the possible vector formats … You'll have to
use an utility to convert them into the vector XAML format first. After that,
they could be loaded right away as vector images.

(H) Serge


My System SpecsSystem Spec
Old 11-30-2007   #3 (permalink)
Oriane


 
 

Re: Vector graphic image

Hello Serge,
hello Srege,

"Serge Baltic" <baltic-@xxxxxx> wrote in
news:dc0986bf7a1c28ca00c7bac58ccf@xxxxxx
Quote:

> Avalon can't be aware of all the possible vector formats … You'll have to
> use an utility to convert them into the vector XAML format first. After
> that, they could be loaded right away as vector images.
I'm a newbie and you answer is quite unclear to me.
First, what does "convert into the vector XAML format" mean ? Do you mean
that Xaml code should be yield by the utility ?
Second, once this conversion has been done, how do you link the XAML code
with that converted vector image ? My goal is to use that image into for
example a hierarchical template:

<HierarchicalDataTemplate x:Key="tvTemplate" DataType="x:Type local:Element"
ItemsSource="{Binding Path=SubElements}" >
<DockPanel MouseRightButtonDown="DockPanel_MouseRightButtonDown"
Width="Auto" >
<Image x:Name="iconeTv" Source="{Binding Path=Icone}" />
<TextBlock Text="{Binding Path=Name}" />
</DockPanel>
</HierarchicalDataTemplate>

In the third line (beginning with <Image), I would like to give my vector
image as a source. I guess I have to use C# with a MemoryStream... What do
you think ?
Quote:

> (H) Serge
Thanks

My System SpecsSystem Spec
Old 11-30-2007   #4 (permalink)
Laurent Bugnion, MVP


 
 

Re: Vector graphic image

Salut Oriane,

Oriane wrote:
Quote:

> First, what does "convert into the vector XAML format" mean ? Do you
> mean that Xaml code should be yield by the utility ?
Yes. See this thread for more info:
http://forums.microsoft.com/MSDN/Sho...25491&SiteID=1

Load the image you want to convert in the corresponding tool, and try
and find a converter to XAML. The Illustrator-to-XAML converter is
supposed to be very good, but I never tried it.
Quote:

> Second, once this conversion has been done, how do you link the XAML
> code with that converted vector image ? My goal is to use that image
> into for example a hierarchical template:
>
> <HierarchicalDataTemplate x:Key="tvTemplate" DataType="x:Type
> local:Element" ItemsSource="{Binding Path=SubElements}" >
> <DockPanel MouseRightButtonDown="DockPanel_MouseRightButtonDown"
> Width="Auto" >
> <Image x:Name="iconeTv" Source="{Binding Path=Icone}" />
> <TextBlock Text="{Binding Path=Name}" />
> </DockPanel>
> </HierarchicalDataTemplate>
>
> In the third line (beginning with <Image), I would like to give my
> vector image as a source. I guess I have to use C# with a
> MemoryStream... What do you think ?
No, once your image is converted to XAML, you can simply link to it. For
example, put it into a ResourceDictionary, and link to it using a
StaticResource markup extension.

Here is a super simple example:

<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary1.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>

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


with (in Dictionary1.xaml)

<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="#FFFF0000"
Geometry="F1 M 110.889,144.583L 87,168L
137.222,167.833L 110.889,144.583 Z ">
<GeometryDrawing.Pen>
<Pen LineJoin="Round"
Brush="#FF000000" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</ResourceDictionary>

If you need to do this in code, you can too, but then you must use a
XamlReader to load the ResourceDictionary, then add it to the Window's
resources and then you can use the DrawingImage as if it had been added
to the XAML directly.

HTH,
Laurent
--
Laurent Bugnion [MVP ASP.NET]
Software engineering, Blog: http://www.galasoft.ch
PhotoAlbum: http://www.galasoft.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
My System SpecsSystem Spec
Old 11-30-2007   #5 (permalink)
Oriane


 
 

Re: Vector graphic image

Ok then.

Thanks a lot !
My System SpecsSystem Spec
 

Thread Tools


Similar Threads
Thread Forum
use array or vector .NET General
True Vector Vista performance & maintenance


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46