A week ago or so I posted my ImageResizer class that resizes images on the fly to create thumbnails or internet-friendly sized images. I've just completed the ImageControl server control that uses the ImageResizer class for core functionality. Documentation of the control is posted here.

The purpose of the control is to wrap all of the functionality of the ImageResizer class, but in a designer-friendly and easy to use interface. The ImageResizer has a simple interface, too, but the idea is to hide the logic from the presentation layer. The ImageControl includes options such as adding a drop shadow, linkability, and alignment. The resizing is handled behind the scenes based on the specified Height and/or Width.

As mentioned in the documentation, there's a few points I'd like to continue work on, but this will have to wait until another time. Some of these include:

- Using GDI+ to draw the drop shadows, as well as allowing the user to customize the shadow. Right now, the control simply renders all elements into an HTML table. Currently, the HTML table is the fastest approach, I'm questioning whether or not using GDI+ for drop shadow creation would be scalable.

- Developing a fast, .NET native way to determine height and width of the image. Currently, the control uses an unmanaged library to read the image headers. There's no equivalent way to do this in .NET without loading the entire image; as a result, the .NET approach is too slow.

- Ability to add text or watermark the image.

- Somewhat low on the list, but allow for some simple image editing or effects, such as desaturation, sharpening, etc.