Sunday, May 26, 2013

2D Sketchpad

Language: C++
API: GDI

Features:

Draw geometric shapes using mouse (click and drag)
Support lines, filled/unfilled rectangles, filled/unfilled circles,
Filled/unfilled ellipses, filled/unfilled squares,
Unfilled polygons
Eraser to modify canvas
Double buffering
Save and load bmp files
Modify existing shapes – change color or delete a shape by selecting it from a list
Free draw mode – continuous line/ points
Change eraser color and size
Clear canvas function


Brief user guide:














Description:

The application provides some basic shapes to be drawn. The drawing is done by clicking and dragging and it can be filled or unfilled. All the shape drawing and filling is done using custom written functions.
The application uses double buffering, implemented using bitmaps. The application is able to draw custom built polygons, simply by recording the mouse click position and adding the point to polygon points list. The back-buffer custom built also, represented by a “VideoMemory” class instance.
The erasing option can be customized by changing the eraser size or by using it as a square brush with a color different than the background.
There is a function for clearing the canvas, for saving it as a “.bmp” file or opening an existing one.
A list of shapes is maintained by the application, and allows the users to select a drawn shape and change its appearance (by changing the fill color or by changing the outline color and width).


Demo: Youtube Demo

No comments:

Post a Comment