This page has been written in HTML5. It contains Silverlight 5 applets written in C#.
I tested everything under Windows 7 with Internet Explorer 9, Firefox 7, GoogleChrome 15, Safari 5.1.
In order to see and run the Silverlight objects, make sure that your preferred browser has installed its Silverlight 5 Plugin.


You can install any Silverlight applet of this textbook as independent and permanent out-of-browser application locally onto your computer.
Just open a chapter, select, expand and right-click an arbitrary Silverlight applet and choose "Install xxxxx Application onto this computer...".
Such out-of-browser applications behave as a normal Windows program and can be easily and completely uninstalled by right clicking them again. You will be asked if you want to "Remove this application...".


You can buy a license of all programs of this textbook.
Download ProgramsTextbookOnFilters.zip (702 kB).
I wrote the C# code in an extremely compact style (but with rich comments) using the Silverlight 5 library.
The programs run either
- as Silverlight applets inside a HTML-page or
- as stand alone Windows applications out of the browser.


You need the following free tools to change, debug and run the programs:

  1. Go to www.silverlight.net/downloads and install from there:
    a) Visual Web Developer 2010 Express,
    b) Microsoft Silverlight 5 Tools for Visual Studio 2010 SP1,
    c) Silverlight 5 Developer Runtime for Windows 32 bit or 64 bit
    .

  2. Unzip the ProgramsTextbookOnFilters.zip directory, branch to a chapter and an application and just double-click its ***.sln-file.


How to write your own Silverlight web page with Visual Web Developer 2010 Express

  1. Recommended introduction: Get Started with Silverlight.

  2. Promote Internet Explorer 9 to your favorite browser (Otherwise the debug mode will not work.):
    Control Panel → Internet Options → Internet Properties → Programs → Default web browser
  3. Start Visual Web Developer 2010 Express.
  4. Open a new Silverlight project named "myProject".
  5. A sub-window "New Silverlight Application" appears.
  6. Uncheck the checkbox "Host the Silverlight Application in a new Web site".
  7. Compile, link and execute the default code with key F5 = Debug Mode or Ctrl+F5 = Release Mode.
  8. In the project directory "myProject\bin\debug" or "myProject\bin\release" you will find two files:
    "myProjectTestPage.html" and "myProject.xap".
    Together they form an Internet page fit to fight that you can upload into your cloud.
  9. If you want to incorporate an image "myImage.jpg" that should be visible at start of myProjectTestPage.html:
    - In the Solution Explorer right click the main branch of myProject.
    - A context menu appears. Click "Add..." followed by "Existing Item...".
    - Look for myImage.jpg on your harddisk and click it.
    - Now you can incorporate it into MainPage.xaml by writing:
      <Image x:Name="myInputImage" Source="myImage.jpg" ImageOpened="myInputImageOpened"/> .

Threading
I wrote all programs that filter real images by programming a background thread that executes the time consuming filter in order not to block the browser or the out-of-browser user interface.
When you are not familiar with thread programming, I recommend to read/watch:
MSDN How to: Use a Background Worker
C# BackgroundWorker Tutorial
MSDN Video