Project Description
C# GDI Plus 1.1 provides access to the GDI+ 1.1 functions which are available from Vista onwards. These functions include: Effects, Histograms, Palette creation, and more. Developed in Visual Studio Express 2008.


I found that there was quite a bit in GDI+ 1.1 which is not implemented in the standard Graphics namespace for .NET languages. I decided to write some extension methods to allow for the new functionality.

It provides this functionality as a fully Managed code set:
  • Fast polygon drawing using selective indexes from arrays
  • Getting histograms from Bitmaps
  • Apply effects to Bitmaps / creating a new Bitmap from a bitmap and an effect.
  • Drawing images with effects
  • Effects: Blur, Sharpen, Tint, RedEyeCorrection, ColorMatrixEffect, ColorLUT, BrightnessContrast, HueSaturationLightness, ColorBalance, Levels, ColorCurve

Included in the source is a library project (GDIPlusX) and a Demo project.

Everything is implemented seamlessly with the standard System.Drawing namespace using extension methods.

GDI Plus 1.1 functions are only available on Vista or above client machine, however, the library now has full support for legacy mode, which allows all effects to run on the CPU if GDI Plus 1.1 is not found, you can of course detect whether GDI Plus 1.1 is available or not using the library, please see the code to the form in the demo for more information.

Any comments / suggestions welcome.

These things have currently been implemented:
  • All Effects classes
  • Legacy mode for all effects
  • Getting histograms from Bitmaps
  • Apply effects to Bitmaps / creating a new Bitmap from a bitmap and an effect.
  • Drawing images with effects

Things left to implement:
  • More overloads to make some functions easier to call (ie Destination rect on DrawImage with Effect)
  • Palette creation from Bitmap
  • Convert format of bitmap

screenshot.PNG

Last edited Jun 23, 2011 at 1:23 AM by TheToid, version 8