Click here to Skip to main content
Click here to Skip to main content
Go to top

A C# image enhancement filters library

, 11 May 2007
Rate this:
Please Sign up or sign in to vote.
A set of filters to modify and style your images and photos

Library Home Page

Screenshot - box_colors2.png

Introduction

This project started from a need. A need to have a simple image/photo .NET filters functionality to style and enhance pictures to be displayed on the web (or any other place for that matter). True, there are some filter libraries scattered around the web for doing stuff like a WaterMark or a GrayScale or even a collection of those (ImageMagick). In most cases they are very basic or unhelpful for styling images. Furthermore, the .NET System.Drawing.* namespace doesn't provide any basic or sophisticated capabilities. For example, there isn't a proper rotate or resize functionality. So the goal was to collect all of the nice .NET filters that are out there into a single package and to extend it by providing more useful and styled filters.

Implementation

From the need that was described above I've created YAEL, which stands for: Yet Another Image Enhancement Library.

It is just a framework and filter classes. No UI (for now). The framework is very basic and simple so that extensions can easily be developed.

There is a basic IFilter interface and a BasicFilter abstract class. All of the filters derive from the BasicFilter class.

Current library filters consist of

  • Resize
  • Rotate
  • Grayscale
  • Rounded Corners
  • Boxing
  • Drop Shadow
  • Polaroid frame
  • Text and wartermark captions
  • Image watermark
  • Floor Reflection
  • FishEye
  • Skew
  • And more to come...

Here are some Samples:

Screenshot - grayScale_brighter.png

Screenshot - rotate_minus_30.png

Screenshot - rounded_35.png

Screenshot - box_colors2.png

Screenshot - dropShadow.png

Screenshot - dropShadow.png

Screenshot - text_water_middle_left.png

Screenshot - image_watermark_pacman.png

Screenshot - image_fisheye_default.png

Screenshot - image_floor_reflection.png

Screenshot - image_skew_plain.png

Usage

Usage is very straightforward. All you have to do is reference the library assemblies, load up an image, initialize a filter, execute the filter, and save back the transformed image.

Here is a sample:

static void Main(string[] args)
{
    Image myImg = Bitmap.FromFile("cat.jpg");
    Image transformedImage;
    ZRLabs.Yael.BasicFilters.TextWatermarkFilter watermark = new 
        TextWatermarkFilter();
    ZRLabs.Yael.BasicFilters.BoxFilter box = new BoxFilter();
    ZRLabs.Yael.BasicFilters.BlackAndWhiteFilter blackAndWhite = new 
        BlackAndWhiteFilter();

    //A text watermark example
    watermark.Caption = "Test";
    watermark.AutomaticTextSize = true;
    transformedImage = watermark.ExecuteFilter(myImg);
    transformedImage.Save("cat_watermark.png", 
        System.Drawing.Imaging.ImageFormat.Png);

    //A boxing example
    transformedImage = box.ExecuteFilter(myImg);
    transformedImage.Save("cat_box.png", 
        System.Drawing.Imaging.ImageFormat.Png);

    //A grayscale example
    transformedImage = blackAndWhite.ExecuteFilter(myImg);
    transformedImage.Save("cat_blackAndWhite.png", 
        System.Drawing.Imaging.ImageFormat.Png);
}

Update

  • 15-Dev-2006
    • V1.0.3.0 Released
      • Added the Fisheye, FloorReflection and Skew filters.
      • Added a pipeline helper class for easy and fluent transformations.
  • 28-Nov-2006
    • Added the ability to use images on the BoxFilter on the top and side panels.
      Check out the samples page for examples.
  • 27-Nov-2006
    • Added a KeepAspectRatio property to the ResizeFilter
  • 23-Nov-2006
    • Added an image watermark filter
    • Changed the license to LGPL

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)

Share

About the Author

Roiy Zysman
Web Developer
United States United States
No Biography provided

Comments and Discussions

 
Questionerror dat unsafe code may only appear if compiling with /unsafe PinmembergauravSushmita9-Oct-12 3:17 
GeneralMy vote of 5 PinmemberAamer Alduais10-May-12 9:00 
QuestionI CAN NOT USING THE FILTERS IN VS2008. NET Framework 3.5 PinmemberLuizItatiba21-Nov-11 14:47 
QuestionGDI because it gives error in my ASP.NET AJAX ENABLED WEB APPLICATION when using AC # image enhancement filters library published in the WEB PinmemberLuizItatiba17-Jan-09 1:57 
QuestionUsing the FileUpload Control with AC # image enhancement filters library PinmemberLuizItatiba16-Jan-09 18:37 
QuestionDropShadow Pinmemberadsaero28-Oct-08 5:50 
AnswerRe: DropShadow PinmemberRoiy Zysman31-Oct-08 12:28 
Questionhow to use the textWaterMark so that the text is upright? PinmemberLuizItatiba15-Oct-08 8:14 
AnswerRe: how to use the textWaterMark so that the text is upright? PinmemberRoiy Zysman15-Oct-08 23:44 
GeneralRe: how to use the textWaterMark so that the text is upright? PinmemberLuizItatiba16-Oct-08 6:17 
GeneralFilters are available for online editing at http://www.imgtoys.com PinmemberRoiy Zysman14-Oct-08 10:38 
QuestionAssigning two lines of Caption PinmemberLuizItatiba21-Jul-08 18:51 
QuestionWhat the Validation component of the examples PinmemberLuizItatiba21-Jul-08 9:25 
QuestionDoubts in relation to the background color of the filter Rounded Corners Filter PinmemberLuizItatiba20-Jul-08 19:06 
AnswerRe: Doubts in relation to the background color of the filter Rounded Corners Filter PinmemberRoiy Zysman21-Jul-08 5:30 
GeneralRe: Doubts in relation to the background color of the filter Rounded Corners Filter PinmemberLuizItatiba21-Jul-08 7:23 
AnswerRe: Doubts in relation to the background color of the filter Rounded Corners Filter PinmemberRoiy Zysman21-Jul-08 8:11 
GeneralRe: Doubts in relation to the background color of the filter Rounded Corners Filter PinmemberLuizItatiba21-Jul-08 8:31 
GeneralWorking with Drop Shadow filter in dark pages with funds PinmemberLuizItatiba20-Jul-08 13:37 
QuestionDoubts over its code example PinmemberLuizItatiba20-Jul-08 12:46 
AnswerRe: Doubts over its code example PinmemberRoiy Zysman21-Jul-08 5:32 
QuestionRe: Doubts over its code example PinmemberLuizItatiba21-Jul-08 7:20 
GeneralI saw your link in Samples of http://www.dotnetclan.com/zrlabs/yael/YaelMain.htm PinmemberLuizItatiba18-Jul-08 16:48 
AnswerRe: I saw your link in Samples of http://www.dotnetclan.com/zrlabs/yael/YaelMain.htm PinmemberRoiy Zysman18-Jul-08 23:51 
QuestionRe: I saw your link in Samples of http://www.dotnetclan.com/zrlabs/yael/YaelMain.htm PinmemberLuizItatiba19-Jul-08 7:04 
QuestionHow to combine several images ino one? PinmemberAndrie Kostyuk27-Jul-07 8:26 
AnswerRe: How to combine several images ino one? [modified] PinmemberRoiy Zysman6-Aug-07 19:12 
GeneralRe: How to combine several images ino one? PinmemberAndrie Kostyuk7-Aug-07 4:00 
GeneralCan´t use imageWaterMark.Halign ... PinmemberLordMM10-Jun-07 23:41 
AnswerRe: Can´t use imageWaterMark.Halign ... PinmemberRoiy Zysman12-Jun-07 10:41 
QuestionImage with rounded corners and a border... Pinmemberburning snow1-Jun-07 3:35 
AnswerRe: Image with rounded corners and a border... PinmemberRoiy Zysman1-Jun-07 6:22 
GeneralRe: Image with rounded corners and a border... Pinmemberburning snow1-Jun-07 6:53 
AnswerRe: Image with rounded corners and a border... [modified] PinmemberRoiy Zysman1-Jun-07 11:13 
GeneralRe: Image with rounded corners and a border... Pinmemberburning snow3-Jun-07 9:57 
GeneralCan't compile PinmemberNice Life23-May-07 22:19 
GeneralRe: Can't compile PinmemberRoiy Zysman27-May-07 22:31 
GeneralRe: Can't compile PinmemberNice Life28-May-07 18:45 
GeneralRe: Can't compile PinmemberRoiy Zysman29-May-07 10:19 
GeneralRe: Can't compile PinmemberNice Life29-May-07 19:42 
GeneralSuggestion for new filters PinmemberCarlosMMartins14-May-07 22:37 
AnswerRe: Suggestion for new filters PinmemberRoiy Zysman17-May-07 10:15 
QuestionWhere's crop? Pinmembermmedia27-Feb-07 7:59 
AnswerRe: Where's crop? PinmemberRoiy Zysman2-Mar-07 11:23 
GeneralDeskew / Crop PinmemberRenesisX7-Dec-06 0:43 
GeneralRe: Deskew / Crop PinmemberRenesisX7-Dec-06 0:46 
Generalgray to black and wihte Pinmemberthemizoo5-Dec-06 9:36 
GeneralRe: gray to black and wihte PinmemberRoiy Zysman5-Dec-06 9:43 
GeneralRe: gray to black and wihte PinstaffChristian Graus5-Dec-06 9:50 
GeneralRe: gray to black and wihte Pinmemberthemizoo13-Feb-07 1:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.140921.1 | Last Updated 11 May 2007
Article Copyright 2006 by Roiy Zysman
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid