Skip to content
This repository has been archived by the owner on Feb 11, 2024. It is now read-only.
/ MSPaint Public archive

Upgraded MS Paint for MacOS, Linux and Windows, with PNG support (without losing transparency), support for layers and filters available. Developed in JavaSE with Swing framework.

License

Notifications You must be signed in to change notification settings

mohitsainiknl/MSPaint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSPaint

Give a ⭐ if you like it!

Screenshot of MSPaint

Overview :

This MSPaint is the upgraded version of the Microsoft Paint, and is developed in the Java programming language with the Swing framework (therefore, can be used on MacOS and Linux based operating system). This paint has many more features like — We can edit PNG images without losing the transparency of an image, We can work one Layers of image, and We can apply filters to the image.

MSPaint use Graphics2D to draw shapes, by @overriding the paintComponent The function of JComponent. Even the buttons are designed with paintComponent function by extending the JButton class in TButton Class.

public class TButton extends JButton {

    public TButton(String text) {
        super(text);
        setFocusable(false);
        setMargin(new Insets(3, 5, 3, 5));
        setContentAreaFilled(false);
    }

    @Override
    public void paintComponent(Graphics g) {

        // drawing customized button here with the help of g

        super.paintComponent(g);	//<--- for print button text
    }
}

You can see the basic layout of MSPaint by following the link below:
https://github.com/mohitsainiknl/MSPaint/blob/master/.readme/mspaint-layout.png

Features :

All upgraded features are given below:

  • PNG Support (without loosing transparency)
    MSPaint support the `alpha` channel, which make it possitble to work wth layers and editing the png image.

  • Layers Support

    Every layer is made up of `JPanel`, which are one-upon another in the `viewport`. We can add Layers and hide them with help of buttons given upon the layers.

  • Filters Support

    Sample of the filters are given in the filters tag. filter settings are also given upon the filters list.
    For more details follow the link :
    http://www.jhlabs.com/ip/filters/index.html

  • Floating Canvas
    We can also float the canvas like in _Photoshop_, with the help of button given in view tab.


Note :- All the feature are NOT completely implemented yet.


Demo Video :

Full Video Link : Linkedin Post





Technical Details :

Basic Information :

  • Executable JAR Size :
  • GUI Framework :

System Requirements :

  • Operating System : * Java is Platform Independent
  • JRE Version :
  • Development Environment : / /



Downloads :

1. Entire Repository

https://github.com/mohitsainiknl/MSPaint/archive/refs/heads/master.zip

2. JAR File (Executable)

https://github.com/mohitsainiknl/MSPaint/blob/master/publish/MSPaint.jar

3. .exe File for Windows (not independent, require JRE to run)

https://github.com/mohitsainiknl/MSPaint/blob/master/publish/MSPaint.exe



"Suggestions and project Improvements are Invited!"

Thanks a lot

Mohit Saini

About

Upgraded MS Paint for MacOS, Linux and Windows, with PNG support (without losing transparency), support for layers and filters available. Developed in JavaSE with Swing framework.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages