Server Control to dynamically resize image and cache result.

When building websites I often end up with a high resolution image that needs to be displayed in many difference sizes, from thumbnails up.  When I first hit this problem I searched the web and found a lot of advice on building an http handler to resize the image in memory and send it down to the browser.  You end up with code like:

<img src="ImageHandler.ashx?src=images/test.jpg&widht=200&height=200" width="200px" height="200px" />

 This works, however it can be tedious to constantly build out the querystring, it also adds significant load to the server.  I built a server control which changes the syntax to:

<ri:Image id="ResizedImage" runat="server" ImageSrc="images/test.jpg" Width="200px" Height="200px" />

It also allows for properties MaxWidth, MaxHeight (So it will not enlarge small images), the ability to specify only the height or width and constrain proportions, and caching the new image to disk so resizing only needs to take place once.

You can download a sample project using the control here.

Feedback
Please post your comments:
Please add 7 and 5 and type the answer here:
Name:
Email (optional): Your email address will not be posted.
URL (optional):
Comments: