NPS Image Editor: Now with Layers!

It happens almost every time. I mention NPS Image Editor to somebody who has never heard of it and the first words out of their mouth are "does it have layers?". I used to die a little inside, briefly compose myself, and begrudgingly say that no, unfortunately my image editor does not in fact have layers.

Well today that changes. After more than 3 years of rewriting everything to support multi-layer editing, NPS Image Editor has layers at last! And what a journey it has been.

To skip straight to the download, go to the NPS Image Editor website. As usual, you can update your existing copy of NPS Image Editor by clicking the update notification.

Design philosophy behind NPS layers

One of the hallmarks of NPS has always been its Paint-like simplicity. It's what sets it apart from the myriad Photoshop alternatives out there and I really didn't want it fading into oblivion as a "less-capable Paint.NET".

With that in mind, I had to make some decisions.

  • The background layer defines the canvas. Single layer images are effectively just a background layer. This allows all of the same operations that you know and love to keep working – dragging the corners of the canvas, extracting text from screenshots using keyed selection mode, and so on.
  • Selections come out of the active layer and remain a part of it. This means click, drag, release, move the selection where you want to, and place. No need to switch between "select" and "move pixels" tools, or keep track of which layer you are on. While it's not as powerful as the other programs, but it's much simpler especially for those of you coming from Paint. (And you can still quickly convert the selection to a conventional layer if you want to edit "inside" the selection.)
  • Layers have their own size and position, rather than being fixed to the canvas size. So you move the whole layer – not the pixels in it – and can recover offscreen information after the move unless you explicitly crop it out. (And yes you can resize all layers to fit a resized canvas.)
  • Although I spent literally years working on layers, they are not the focus – they are merely one tool out of many. Thus they stay out of the way until needed. By default the layer list will stay collapsed until you add a layer or expand it, though you can of course set it to always start expanded.

Other changes

Some significant changes have been made under the hood as well.

  • The undo manager was completely rewritten. It used to be as simple as saving current state but now I have to keep track of different properties (so it's much more efficient).
  • Document recovery is no longer possible from undo states so I have switched to a much more robust, reliable, and usable model based on an "autosave" approach.

File Format

What file format did I choose to use for all of this? Unfortunately I had to come up with my own. Fortunately it is an open specification that anyone is free to implement, and it is based around industry standards (PNG / INI / ZIP) so manual recovery of data is trivial.

Future Plans

Now this is only the beginning of multi-layer NPS. I'm excited to add even more functionality in upcoming releases including:

  • Layer blending modes, including a "clear" mode that allows you to non-destructively erase part of the layer below
  • Layer masks and Magic Wand
  • Text layers
  • Simple vector layers
  • Rudimentary animation support from the layers (but don't hold your breath, this won't be a general purpose video editor)

Other improvements in NPS 3.2

Even if you don't care about layers, there's still plenty of reason to update including:

  • Enhancements to the color picker including color quantization modes, CSS4 HWB support, and a fresh new UI
  • A nice new online help system
  • Ability to quickly select (or crop to) the content of the image, super useful for removing unnecessary pixels around your screenshot
  • A sweet new minimalist logo!

So go out there and enjoy some sweet multi-layer editing, and be sure to let me know what you think!

Posted on Monday, September 2, 2019 at 5:04 PM | Permalink | Tags: NPS

Comments (0)

Leave a comment

eighteen plus zero is (Huh?)
Comment moderation is enabled.
Your comment will appear on the page after it has been reviewed.