IanG on Tap

Ian Griffiths in Weblog Form (RSS 2.0)

Blog Navigation

April (2018)

(1 item)

August (2014)

(1 item)

July (2014)

(5 items)

April (2014)

(1 item)

March (2014)

(1 item)

January (2014)

(2 items)

November (2013)

(2 items)

July (2013)

(4 items)

April (2013)

(1 item)

February (2013)

(6 items)

September (2011)

(2 items)

November (2010)

(4 items)

September (2010)

(1 item)

August (2010)

(4 items)

July (2010)

(2 items)

September (2009)

(1 item)

June (2009)

(1 item)

April (2009)

(1 item)

November (2008)

(1 item)

October (2008)

(1 item)

September (2008)

(1 item)

July (2008)

(1 item)

June (2008)

(1 item)

May (2008)

(2 items)

April (2008)

(2 items)

March (2008)

(5 items)

January (2008)

(3 items)

December (2007)

(1 item)

November (2007)

(1 item)

October (2007)

(1 item)

September (2007)

(3 items)

August (2007)

(1 item)

July (2007)

(1 item)

June (2007)

(2 items)

May (2007)

(8 items)

April (2007)

(2 items)

March (2007)

(7 items)

February (2007)

(2 items)

January (2007)

(2 items)

November (2006)

(1 item)

October (2006)

(2 items)

September (2006)

(1 item)

June (2006)

(2 items)

May (2006)

(4 items)

April (2006)

(1 item)

March (2006)

(5 items)

January (2006)

(1 item)

December (2005)

(3 items)

November (2005)

(2 items)

October (2005)

(2 items)

September (2005)

(8 items)

August (2005)

(7 items)

June (2005)

(3 items)

May (2005)

(7 items)

April (2005)

(6 items)

March (2005)

(1 item)

February (2005)

(2 items)

January (2005)

(5 items)

December (2004)

(5 items)

November (2004)

(7 items)

October (2004)

(3 items)

September (2004)

(7 items)

August (2004)

(16 items)

July (2004)

(10 items)

June (2004)

(27 items)

May (2004)

(15 items)

April (2004)

(15 items)

March (2004)

(13 items)

February (2004)

(16 items)

January (2004)

(15 items)

Blog Home

RSS 2.0

Writing

Programming C# 5.0

Programming WPF

Other Sites

Interact Software

Using ImageEffects on Markup in Longhorn

Thursday 27 May, 2004, 02:07 PM

Longhorn offers a number of classes for applying effects to images. Sadly, as I have bemoaned previously, the PDC build (4051) did not provide a way of applying these effects to vector graphics - only to bitmaps.

Fortunately, the WinHEC build (4074) now makes this dead easy. In fact it's so simple I almost missed it. The Visual class, which is the base of all visual elements, has an ImageEffect property (which is, strictly speaking, part of the IVisual interface). All you have to do is put an ImageEffect in there. Here's an example with an ImageEffectBlur applied to the second Text element:

<FlowPanel xmlns="http://schemas.microsoft.com/2003/xaml"
  xmlns:def="Definition" Text.FontSize="24">

  <Text>This seems clear enough.</Text>

  <Text>
    <Text.ImageEffect>
      <ImageEffectBlur Radius="3"/>
    </Text.ImageEffect>
    This is considerably less clear.	
  </Text>

</FlowPanel>

Here's the result:

You can even apply it to any element in the visual tree. If you want to apply an effect to a load of elements, you can set it on a whole panel. Active elements of the UI (such as buttons) continue working even when you've applied an effect in this way.

Of course you need to be a little bit careful about effects which enlarge the image. In this case, the "T" has been cropped slightly - the blur has made it expand out a little beyond the containing window, so the blurring has been squared off. This could easily be fixed by adding a Margin to the FlowPanel, or to the Text element.

Copyright © 2002-2024, Interact Software Ltd. Content by Ian Griffiths. Please direct all Web site inquiries to webmaster@interact-sw.co.uk