thirdyearproject

Third Year Project

VectorGraphics

coauthored with Saumabha Pal

Paint does not allow it and AutoCAD is too heavy (and also feature laden). We wanted to make a graphics application which remembered the lines, circles, rectangles that we drew, as entities; not merely pixels. We also wanted to have their properties controllable. I wanted my rectangle to be floating over Saumabha's circles and he wanted his circles painted blue. Then the next day, we wanted it the other way round.

This was our starting point into developing VectorGraphics - our third year "mini-project".

Using the newly learned object-oriented programming (and fumbling a lot of times) we developed an MFC application which approached our dream application. It had a few shortfalls, but we left the application at that, much before the deadline, and completely satisfied at our handiwork.

VectorGraphics is able to draw (and remember) lines, circles, rectangles, arcs, bezier lines and freehand lines. It can solid fill rectangles and circles with any color, or fill it with transparent hatch patterns or keep it completely transparent. VectorGraphics can change the relative Z-Order of any shape so that it appears behind or in front of any shape. You can give names to the shapes you draw for easy identification. The end points can be changed so that the shape moves to a new position. The mouse pointer snaps to an end point when one is sufficiently close (and the snap proximity can be configured). You can save the graphics you create in a proprietary format (.vgr).

What's the use? You would say. After drawing so much, if I cannot take my drawing to someone else, what's the use? Proprietary format just won't do, and we knew that all the time. So, we have provided the flexibility to export the drawing in Windows Enhanced Metafile (.emf) format. That just works fine. With an emf in hand, you can put it in any Microsoft Office application and use it really widely. So, satisfied, we left our application at that. It looked something like this.

I may put the setup for the application in this page sometime later. The setup startup screen and the CD cover looked like this: