I require a UserControl to use in my C# application that takes a directory/path and displays a slideshow of the images found in the path (including subfolders) in random order. I have implemented this using GDI+ and it was not smooth and was very resource hungry. As a result, I feel OpenGL should be used. The slideshow should employ the 'ken burns effect' (slow zoom/pan) with fade transition. Download this [windows screensaver][1] (which is actually open source and done in .NET, so something could be learned from it). This screensaver is exactly what I am after (but in C#, and as a UserControl). Ideally I would dock the control in any size of windows form and it would fill the area. Images MUST maintain their aspect ratio. Images may be added/removed from the specified folder at any time, so the control should not queue too many images in advance. Exposing as many options as possible is desireable. Time for each slide, rate of zoom, rate of pan, etc. Finally, the control should be self contained so it can be deployed easily and included in my application with ease. My feeling is that using a complete OpenGL wrapper library (like [Tao][2]) is overkill. The control must run smoothly and must not consume excessive resources, even on modest PCs.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. This includes the control and a demo application making use of the control.
2) Deliverables must be in ready-to-run condition. 3) The source code must be well commented and documented for future adaptations. 4) Instructions on how to incorporate the control into my project(s) and how to deploy the project. 5) System requirements for using the control.
## Platform
+ Windows Desktop Applications + .NET Framework 2.0+