Introduction > Features
PhotoController 2.1
ContentsIndexHome
PreviousUpNext
PhotoController Features - Image Processing in .NET
1 Purpose

The purpose of PhotoController is to make image processing in .NET easier. Not only works in Windows form application but also in Web application. You can write software with PhotoController similar to ACD FotoCanvas, PaintShop or even PhotoShop. 

 

You do not have to understand GDI+, deep Win32 API, or Image processing knowledge too much. What you need to do is just to initialize PhotoController object, encapsulate the image, call methods and retrieve the desired result. 

 

2 Process Image object

PhotoController only processes System.Drawing.Image object, please refer this object in MSDN

 

So PhotoController is able to load all image formations that .NET supports by now. If you have other components to load other image formations that .NET does not support now, like PSD, TGA, once you cast it to Image object, you can pass it to PhotoController to process. 

 

3 Compress image

PhotoController supports to save three image formations with compression: Jpeg, Gif and Tiff. 

 

You can save Gif with four compression modes, which are GifAdaptive, GifOctreeQuantizer, GifStandard256, and GifWebSafe. You can even save Gif with a specified transparency color. 

 

4 Arbitrary Transformation

PhotoController supports rotation, crop, flip, canvas size, resize an scale. 

 

Image rotation is always tricky. As we know, when rotating an image, if the canvas size is unchanged, then you will lose your image data. With PhotoController, after calling the rotate method, you will get a new size of canvas to fit in the rotated image. 

 

Resize and scale are different. Resize enables to change the original picture's width and height to any new value, either enlarge or reduce. Scale lets you pass a size of a container( ie. a rectangle), then you could get a resized picture to fit in the container. 

 

You can change the canvas size of picture, and specify the original picture position, just like in what PhotoShop does. 

 

5 Color Adjustment

PhotoController supports contrast, lightness, darkness, grayscale, sepia, color gamma, invert, transparent, blackwhite, HSL adjustment and so on. 

 

6 Filter Effects

PhotoController supports over 50 different kinds of image convolutions, including blur, sharpen, edge detection, diffuse, mosaic, water, shear, twirl, sphere, dither, marble and so on. With our flexible object structure, you can easily build your own filters. (only after V2.0). 

 

Most filter algorithms are referenced to HIPR2

 

7 Feather

A new feature since version 1.1 

 

You can select an area in the image with any shape. The method will copy the selected region and feather the bounded area with your specified feather degree. You can also choose to copy the feathered image into a new image with either a tile image or a specified color. 

 

Feather is a very powerful feature. You could even use it to simulate a special frame effect. 

 

8 Frame Borders

You could write border on the photo. 

 

You can specify a border in four alignments, EAST, SOUTH, WEST, and NORTH. PhotoController provides several special frame styles; besides, it's easy to customize your own frame styles. 

 

9 High Performance and Efficient

PhotoController has a high performance. The code are all written in C# and all operations on the image are in memory. You only need to use managed objects and don't need to worry about the background of GDI+. 

 

PhotoController supports automatically garbage collection, but you need to dispose the object after you use it. The best usage is when you need the object, initialize it; after your work is done, release it. And you do not need to worry about if you release PhotoController, your Image object will be lost. PhotoController will clone the Image object and return it after you call a method. Even you release the Controller object, you won't lose the Image object

Send comments about this topic.
Copyright (c) 2006-2007 @ ImageComponent.NET All rights reserved.