Project Paint
Project Paint
Knowledge base
Technical details
Plugin architecture
1. Dynamically load all graphic objects that can be drawn from external DLL files
3. The user can see the preview of the object they want to draw
4. The user can finish the drawing preview and their change becomes permanent with
previously drawn objects
5. The list of drawn objects can be saved and loaded again for continuing later
6. Save and load all drawn objects as an image in bmp/png/jpg format (rasterization).
Just one format is fine. No need to save in all three formats.
1. Line: controlled by two points, the starting point, and the endpoint
2. Rectangle: controlled by two points, the left top point, and the right bottom point
3. Ellipse: controlled by two points, the left top point, and the right bottom point
1. Allow the user to change the color, pen width, stroke type (dash, dot, dash dot
dot..._
4. Reduce flickering when drawing preview by using bu er to redraw all the canvas
7. Zooming
11. Use Visitor design pattern (Suggestion: save objects into text file / xml file / json file /
binary file)
Submission instructions