Skip to content

krush62/KPix

Repository files navigation

KPIX

KPix: A pixel art creation tool.

release release-date downloads

last-commit issues pull-requests license

screenshot04 Application Screenshot, Artwork created by krush62

Contents

🚀About

KPix is a pixel art editor for still images and animations with a focus on generative color ramps and shading. The key aspects are:

Highlights

⭐ exclusive use of indexed colors
⭐ generative color ramps based on parameters
⭐ hsv based color representation
⭐ shading capabilities for all tools
⭐ reference layers
⭐ grid/perspective aid layers
⭐ shading layers
⭐ dithering layers
⭐ non-destructive layer effects (outer/inner strokes, shadow, glow, ...)
⭐ extensive animation capabilities
⭐ image importing including automatic palette creation
⭐ image export including layers to Aseprite, Pixelorama, Gimp and Photoshop
⭐ multi-platform support (Windows, Linux, Android, macOS, Web)
⭐ stylus and touch support
⭐ automatic light/dark theme

Developer Statement

KPix began as a personal project designed around my own pixel art workflow. I also used it as an opportunity to learn Flutter for desktop and tablet development. Because of this, some UI and workflow choices might feel unconventional - but these restrictions are entirely by design. I eventually decided to polish the app and release it to the public. Because I am a strong advocate for FOSS and open distribution channels, KPix is not available on Google Play or the Apple App Store.

AI usage statement

I am a professional developer and frequently use AI in my daily work, but KPix is entirely human-made. This project was started way before the rise of LLMs, and I wanted to keep it that way to ensure I fully understand everything I am responsible for. To me, that is essential for being proud of my work.

More Information

You might also want to read the F.A.Q. or watch the (slightly outdated) feature overview video.

🔥Features

Drawing Tools

🖌️ Pen
💠 Shape
🔠 Text
🪣 Fill
💮 Stamp
➖ Line / Bézier Curve
💦 Spray Can

Shading

The drawing tools work directly (using the selected color) or in shading mode. In shading mode, the affected colors on the canvas are brightened/darkened based on the current color ramp.

Generative Palette

A palette consists of multiple independent color ramps. Each ramp can have an arbitrary amount of shades (colors). These shades are controlled by parameters:

  • base hue (hue of the center shade)
  • base saturation (saturation of the center shade)
  • hue shift between shades
  • saturation shift between shades
  • saturation curve (keep darker/brighter shades constant)
  • minimum and maximum brightness

Palettes can be saved using the kpal format which is also used by KPal. The file format documentation can be found here.

Special Layers

Reference Layers

Add reference images to your project and put them anywhere in your layer stack. These layers support opacity, scaling, moving and stretching.

Shading Layers

Non-destructive shading for your image. Test different shading variants without changing the content.

Dither Layers

Special kind of shading layer for dithering (±16 steps).

Grid/Perspective Layers

Displaying a highly-customizable grid (rectangular, diagonal, hexagonal, triangular, isometric, brick) or perspective aid (1-point, 2-point, 3-point).

Animation

  • Individual frame times (1-30 fps per frame)
  • Highly customizable frame blending (Onion Skinning)
  • Linked layers

File Format Support

KPix uses its own kpix format for storing project files. The file format documentation can be found here.

Export Formats

🖼️ Image Formats

Projects can be exported to lossless images including transparency. Integer scaling is supported.

  • png

📱 Application Formats

Projects can be exported for usage in other applications. Special Layers will be either omitted (reference, grid) or merged (shading, dither).

Application Extension Color Mode Layers Palette Inclusion
Aseprite aseprite indexed
Gimp xcf indexed
Pixelorama pxo rgba
Photoshop psd rgba

* Note: Pixelorama and Photoshop do not support indexed color mode with layers.

🎨 Palette Formats

Palettes can be exported for usage in other applications.

  • png
  • aseprite (Aseprite)
  • gpl (Gimp)
  • txt (Paint.NET)
  • ase (Adobe)
  • pal (JASC)
  • xml (Corel)
  • soc (Star/Open/Libre Office)
  • json (Pixelorama)

🎥 Animation Formats

Animation projects can be exported to the following formats

  • apng
  • gif
  • zipped png images

Import Formats

Due to its unique way of having parameterized color ramps, an import of other formats always needs the creation of parameterized color ramps from the image's colors. Any import is an approximation and will never exactly match the colors given in the original image. The following raster image formats are supported: bmp, jpg, gif (first frame), webp and png.

🎮Controls

This application supports input by mouse/keyboard, touch screen and stylus. The complete control table can be found here.

Quick Start

ACTION MOUSE TOUCH STYLUS
use tool left click one finger down
move canvas middle click + move two finger move button press + move
zoom canvas mouse wheel two finger pinch button long press + move up/down
color pick /
switch shading direction
right click --- quick button down and up

💾Installation

🪟Windows

Download from GitHub

Windows Installer (.exe) and Package (.zip) versions can be found at latest releases.

Installer

Download and run the provided Windows installer. The application can be easily uninstalled and a file association is created.

Package

This is a portable version. Extract the contents of the Windows Zip Package and run kpix.exe to start the application.

Install via WinGet

WinGet Package Version
Open a terminal (cmd or PowerShell) and run the following command: winget install --id krush62.kpix

🐧Linux

Linux AppImage and Tarball (.tar.gz) versions can be found at latest releases.

This version needs to have libgtk-3-0, libblkid1 and liblzma5 installed and for file/directory selection, zenity, qarma or kdialog is needed.

AppImage

Just run the AppImage file from the Desktop or Terminal.

Flatpak

Install the Flatpak from Desktop or Terminal.

Package

Extract the contents of the tar.gz Package and run ./kpix to start the application.

🤖Android

Get it on Obtainium

Manual Installation

Android .apk version can be found at latest releases.

Download the Android apk file and install it manually (side-loading needs to be enabled).

Even though, the apk can be installed on any device with the minimum required Android version, the application is designed for tablets (preferably with a stylus). The manifest file specifies the supported screen sizes and densities.

🍎macOS

The support for macOS is highly experimental and completely untested.

  • Download the provided dmg file
  • Double-click the downloaded dmg file
  • Drag the application icon to the Applications folder shortcut within the window
  • Double-click the application icon to start the application

Web Version

A html/javascript version can be found at kpix.cloud. The web version has some limitations:

  • General performance might be lower compared to the native versions
  • Not always the latest version
  • No project manager (simple load and save via up/download)
  • No palette import
  • Limited stylus and keyboard shortcut support

💻Build

Dart Flutter

  • Clone the repository
  • Install the Flutter SDK
  • Open the project in your configured IDE (Android Studio or VSCode recommended) or use gradle directly to build your variant
  • you might use the scripts in the release_tools folder to create custom Linux/Windows/Android/Web versions

🔜Roadmap

A list of ideas and features for future versions can be found here: #53.

🤝Feedback

Feedback can be shared via the discussions page. Please make sure to check if your idea/bug already exists.

📃License and Privacy

This project is licensed under AGPLv3.
Please read the privacy statement.

About

A pixel art creation tool.

Topics

Resources

License

Stars

12 stars

Watchers

2 watching

Forks

Contributors