Paint Application

 

 

This project is aimed at developing a simple image drawing and editing tool on the lines of Microsoft Paint and other such applications. The application will contain tools for simple image editing as well as for free hand drawing.

The user will be provided with an empty canvas as the starting point. He can now create a blank canvas of certain size or open up an image for editing. Some of the image editing options are as follows:

  1. Cropping an image into a smaller rectangular shape
  2. Resizing the image into a smaller or larger size
  3. Brighten an image, pixel by pixel, by a certain amount
  4. Adjust the contrast of an image by a certain amount
  5. Convert an image to grayscale
  6. Invert the colors of an image
  7. Blur or sharpen an image by a certain amount
  8. Construct a histogram of the image as another savable image file

Any of these actions may be applied to the image after which it may be saved either to the original file or as a new file. The image itself may be used as a canvas for free hand drawing tools which include actions like:

  1. Drawing free hand with a pencil tool of any color
  2. Drawing straight lines between two points
  3. Drawing hollow or filled figures like rectangles, ovals, circles etc.
  4. Constructing hollow or filled polygons by selecting consecutive endpoints
  5. Adding text of variable size and color at any point in the canvas

Apart from these actions, the user will also be able to undo or redo the last action. At any point, the user will be able to save the image in the canvas as a file on the disk in a number of common formats such as GIF, JPEG, PNG etc.