Skip to content

dangcpr/Paint-Windows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paint-Windows

Knowledge base

The core concept of the processing is to draw graphic objects

Technical details

  • Design patterns: Singleton, Factory, Abstract factory, prototype
  • Plugin architecture
  • Delegate & event

Core requirements (5 points)

  • Dynamically load all graphic objects that can be drawn from external DLL files

  • The user can choose which object to draw

  • The user can see the preview of the object they want to draw

  • The user can finish the drawing preview and their change becomes permanent with previously drawn objects

  • The list of drawn objects can be saved and loaded again for continuing later

    You must save in your own defined binary format

  • 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.

Basic graphic objects

  • Line: controlled by two points, the starting point, and the endpoint
  • Rectangle: controlled by two points, the left top point, and the right bottom point
  • Ellipse: controlled by two points, the left top point, and the right bottom point

Improvements (Choose and propose as you wish)

  • Allow the user to change the color, pen width, stroke type (dash, dot, dash dot dot..._

  • Adding text to the list of drawable objects

  • Adding image to the canvas

  • Reduce flickering when drawing preview by using buffer to redraw all the canvas

    Upgrade: Only redraw the needed region, no fullscreen redraw

  • Adding Layers support

  • Select a single element for editing again

    Transforming horizontally and vertically

    Rotate the image

    Drag & Drop

  • Zooming

  • Cut / Copy / Paste

  • Undo, Redo

  • Fill color by boundaries

  • Anything that you think is suitable

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages