jspaint/README.md

4.7 KiB

JS Paint

A nice web-based MS Paint remake and more... Try it out!

The goal is to remake paint (including its little-known features), improve on it, and to extend the types of images it can edit.

You can also install it as a chrome app.

Current improvements include:

  • Unlimited undos/redos (as opposed to a measly 3 in Windows XP, or a somewhat less measly but still annoying 50 in Windows 7)
  • Edit transparent images!
  • Create an animated GIF from the current undo history with Ctrl+Shift+G (pretty nifty, you should try it out)
  • Cross-platform, I guess
  • You can shoot at it Asteroids style
  • When you do Edit > Paste From... you can select transparent images. You can paste a transparent animated gif... and then smear it across the canvas while it animates! (Hold Shift while dragging the selection to smear it.)
  • It can open SVG files (by accident)
  • You can crop the image by holding Ctrl and making a selection
  • Multiplayer: start up a session at jspaint.ml/#session:bad455 and send the link to your friends

Possible improvements include:

  • Extended Editing
  • Mobile support
  • Proportionally resize the selection or canvas by holding Shift
  • After adding text, save as SVG or HTML with selectable text
  • Alt as a shortcut for the eyedropper, as long as it doesn't conflict with keyboard navigation of menus
  • Loading palettes (I've started a project for this)

A lot of stuff isn't done yet:

One thing that may not be doable is full clipboard support. You can copy with Ctrl+C, cut with Ctrl+X, and paste with Ctrl+V, but copied data can only be pasted into other instances of jspaint, and you can't use the menu items unless your browser is really insecure.

Staying True to the Original

Ah yes, good old paint. Not the one with the ribbons or the new one with the interface that can take up nearly half the screen.

Windows 95, 98, and XP were the golden years of paint. You had a tool box and a color box, a foreground color and a background color, and that was all you needed.

Things were simple.

But now we want transparency. And we want to undo more than three actions. We can't just keep using the old paint.

So that's why I'm making jspaint. I want to bring good old paint into the modern era. Also, it's totally retro. There might be themes later, though. What was this section titled? Oh, um yeah I'm doing that too.

Extended Editing

I want to make jspaint to be able to edit...

  • Transparent PNGs (the main thing that's lacking in old ms paint)
  • Animated GIFs (yes, that entails a fully featured (but simple) animation editor)
  • Animated Transparent APNGs
  • Multi-size Icons (ICO for windows and ICNS for mac)
  • Scalable Vector Graphics (kidding, but actually it could always open SVG files in browsers that can handle SVGs, and I've now made it try not to save over the original SVG. That's pretty decent SVG support, for a 100% raster image editor.)
  • Text Files (just kidding)

Did you know?

  • These Tips and Tricks from a tutorial for MS Paint also work in JS Paint if they have a checkmark:

    • Brush Scaling (+ & - on the Numpad to adjust brush size)
    • "Custom Brushes" (hold Shift and drag the selection to smear it)
    • The 'Stamp' "Tool" (hold Shift and click the selection to stamp it)
    • Image Scaling (+ & - on the Numpad to scale the selection by factors of 2)
    • Color Replacement (right mouse button in Eraser selectively replaces the foreground color with the background color)
    • The Grid (Ctrl+G & Zoom to 6x+)
    • Quick Undo (Pressing a second mouse button cancels the action you were performing. I also made it redoable, in case you do it by accident!)
    • Scroll Wheel bug (hmm, let's maybe not recreate this? ah who am I kidding I'll make it an option)