Saturday, July 28, 2007

Just started with image processing..

I have been doing programming on .NET for last 4 yrs.. just joined a new company, which only dealt in Image Processing softwares development. Initially quickly had few skeptical questions like a) Is .NET really capable of making softwares for Image manipulation/enhancements, then what about the performance. b) Will i be able to handle it, can i truly manage to make something which i never even tried.
Just believed in myself, which should say really works out (***Believe In Yourself**) & it did for me as well. Ppl interested in having a glance of my work, i have put up the screens of the two softwares which i started & resulted amazing.. 1) DirectPrint 2) AlbumBuddy
It took me about 6 months to figure out some drastic issues which made me put back while commencing. Those where, how the heck do i mange multi-layer functionality, later where the other issues : resizing, interactivity, etc.. will surely let you know about how i was fire fighting dealing with them.
Following part is for ppl who interested in knowing technically how i dealt with multi-layer functionality :
My approach to this was developing an user control for this, which will have all the properties, methods exposed & can be later used in any other projects.
So i went ahead & finally came up with a control where had a facility of just loading images at any specified co-ordinates, this made multiple layers of the images... Basically hypothetically speaking it was nothing but collection of classes treated as layers & their index was treated as the Zorder of the images. The user control consisted of a property for holding this collection of classes. On the controls paint event i was calling the paint event which was a method in each classes & painting on the user control.
This was a small & quick overview of my user control, & then i just started throwing this control in any projects with slightest modifications.. & bingo..!! I had a fully functioning image editing software managing multiple layer & multiple images..