A downloadable tool for Windows and Linux

NPainter is a free fast and simple painting software created from scratch. the most important goal is provide a powerful and lightweight tool for beginner and amateur art artists as well semi-professional artists.

This project is under early state and work in progress, however a demo is provided right now to evaluate the following current features:

  • 100% Native and Lightweight: no Electron, no Qt, no GTK, no dear imgui
  • Advanced Layer System: 25 blending modes, clipping group, folders
  • Brush Engine similar to popular manga software
  • Bucket Fill with Antialiasing + Gap Closing
  • Canvas View Control: zoom, rotation, moving, mirror
  • Infinite Undo History: using compressed swap file
  • First bits of Intuitive UI/UX


    Follow development at: Twitter or Mastodon. Full Roadmap and Source Code can be found in Github Repository

    if you liked it, you can support me with a coffee cup

    Buy Me a Coffee at ko-fi.com

    Updated 4 days ago
    StatusIn development
    CategoryTool
    PlatformsWindows, Linux
    Rating
    Rated 5.0 out of 5 stars
    (2 total ratings)
    Authormrgaturus
    Tags2D, Brushes, linux, No AI, Open Source, Painting, PNG, windows
    Code licenseGNU General Public License v3.0 (GPL)
    LinksSource code, Twitter/X, Mastodon

    Download

    Download
    npainter-v0.0.1-win32.zip 5.1 MB
    Download
    npainter-v0.0.1-linux.zip 918 kB
    Download
    Source Code (GitHub)
    External

    Install instructions

    How to run on Linux systems:

    1. extract "npainter" folder
    2. inside extracted "npainter" folder execute "npainter" file

    How to run on Windows systems:

    1. extract zip file into a folder
    2. inside extracted folder double click "npainter.exe" file

    the following shortcuts are for demo purposes, proper shortcut manager & customization is work in progress

    Layer Control:

    • Delete -> Clear Layer Content
    • Ctrl + Z / Ctrl + Y  -> Undo / Redo
    • Ctrl + S -> Save File
    • Ctrl + O -> Load File
    • Ctrl + E -> Export PNG

    Canvas View:

    • Space + Click -> Move Canvas
    • Space + SHIFT + Click -> Zoom Canvas
    • Space + CTRL + Click -> Rotate Canvas

    Dependencies on Linux:

    • XInput2: pen pressure support
    • X11 & OpenGL 3.3: gui toolkit


    Development log

    Comments

    Log in with itch.io to leave a comment.

    (1 edit) (+1)

    Haven't tried it yet but added to my tool collection ;)

    Edit: I've tried it! It feels like a professional's tool.

    :D

    (+1)

    Really snappy and pen support worked for me without a hitch through the itch installer (Bazzite/Fedora Silverblue with opentabletdriver installed in an arch box via a ujust script included in Bazzite). It's very clear there's still a lot to be implemented, some menu items simply don't do anything, but all the basics are there and feel great.

    (1 edit) (+1)

    glad to hear you liked it and pen pressure worked on a non common setup ^^.

    Right now i'm developing tiled layer system which is the biggest part of this project, after that and more gui toolkit rework i would be able to implement planned features more quickly

    such layer system includes 25 blending modes, layer folders, layer masks and most important clipping group

    Tried demo with debian testing:

    /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./npainter)

    Debian testing has 2.37.

    Tried building from source:

    Error: Could not read package info file in /home/luser/bin/apps/npainter/npainter.nimble;

            ...   Reading as ini file failed with:
            ...     Invalid section: .

            ...   Evaluating as NimScript file failed with:
            ...     /usr/lib/nim/lib/system/dragonbox.nim(78, 1) Error: constructor procs are only supported in C++

            ... printPkgInfo() failed.


    ...Just a FYI. Keep the hard work, It looks rad :D .

    Thank you for testing!!!, i builded it with arch linux, so i will update demo binary building on debian to be more universal 

    Regarding building manually from sources if you used Nim package from debian it is also outdated, I will update README.md adding how to install latest Nim

    I used this to install Nim universally https://github.com/dom96/choosenim

    Windows binaries are planned but first i will work on layer system, I did Linux first because 3 reasons:

    1. Programming first on Windows could make hard port to other platforms
    2. GLFW and SDL2 don't want support graphics tablet, so I used Xlib directly, then i will use Win32 API
    3. Nim doesn't have proper Win32 wrappers (my plan is to use C directly to manipulate Win32 API, but i need also do the same for X11)
    (+1)

    Let me know if you want me to test something. I use debian testing in a couple of PCs (tower [nvidia] /laptop [intel).

    (1 edit)

    i updated build, compiled with ubuntu 16.04 LTS, it should work on any 2016 and above distro

    (+1)

    It's working now. Seems very responsible. Looking good.