Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/robertkist/ditherista

A dithering application for Windows, Linux and macOS
https://github.com/robertkist/ditherista

apple-silicon c cpp dithering dithering-methods graphics linux macos qt6 utility windows

Last synced: about 2 months ago
JSON representation

A dithering application for Windows, Linux and macOS

Awesome Lists containing this project

README

        

# Ditherista - A Ditherer for Windows, Linux and macOS

Ditherista is a small Windows, Linux and macOS GUI application for creating black-and-white dithered images.
It features easy import and export and over 90 different dithering methods.

Main interface on macOS:

### Downloads for Windows, macOS and Linux ###

[Download from Github Releases](https://github.com/robertkist/ditherista/releases)

### Ditherista Features ###

* Over 90 different dither methods with adjustable parameters
* Import / export your files via drag & drop, copy & paste or via open and save file dialogs
* Adjust brightness, contrast and gamma
* Available on Windows, macOS and Linux
* Performs calculations in linear color space for increased accuracy
* Supported image formats: PNG, JPG, BMP, GIF
* Support for HiDPI and Retina displays

Main interface on Windows:

Main interface on Ubuntu:

Windows Installation
--------------------

Run the setup.exe file and follow its instructions. Shortcuts for launching the application will
be created automatically by the installer.

macOS Installation
------------------

Double-click the .dmg and drag the Ditherista appliation into your system's Applications folder.

Ubuntu Linux Installation
-------------------------

Either double click the .deb file to install it, or install via the command
```dpkg -i ditherista_setup.deb```. Ditherista supports HiDPI mode on linux, however, depending on
your display manager, it may not automatically recognize it. In this case, launching Ditherista via
`QT_SCREEN_SCALE_FACTOR=2 ./ditherista` may help.

Basic Usage
-----------

Tip: Also consult the built-in Help for instructions.

Loading images:
* Drag an image into the application from the Windows Exporer or macOS Finder.
* You can also use copy and paste to load images
* Or use the File->Open... menu entry or the ```CTRL+O``` (Windows and Linux) / ```Command+O``` (macOS) keyboard shortcuts

Dithering an Image:
* Pick any ditherer from the right hand side list
* Below the list you will see the selected ditherer's name and any options you can adjust
* On the bottom, you can adjust the source image's brightness, contrast and gamma. There
is also an option to show the source image, so you can directly compare it with the
dither results.

Saving dithered images:
* Drag them out of the viewport onto the Desktop or an open folder in the Windows Explorer of macOS Finder.
* You can also use copy and paste to export the current dithered image
* Or use the File->Save and File->Save As... menu entries or the ```CTRL+S``` (Windows and Linux) / ```Command+S``` (macOS) keyboard shortcuts

Notes:
* The largest image size supported is 4k by 4k resolution.
* The DBS ditherer can take up to a minute or longer to calculate the dithered image on slow systems!
* Dithered images will be cached, so they won't be re-calculated every time you switch ditherers. However, the
cache will reset when you adjust the source image.
* You can use the cursor keys to quickly move up and down the list of ditherers.

Building from Source
--------------------

Please refer to the [BUILDING.md](BUILDING.md) file for building on Windows, Linux and macOS.

Dithering Examples
------------------

Ditherista supports the following dithering methods:

Original
Grid dither
Xot error diffusion



Diagonal error diffusion
Floyd Steinberg error diffusion
ShiauFan 3 error diffusion



ShiauFan 2 error diffusion
ShiauFan 1 error diffusion
Stucki error diffusion



1D error diffusion
2D error diffusion
Fake Floyd Steinberg error diffusion



Jarvis-Judice-Ninke error diffusion
Atkinson error diffusion
Burkes error diffusion



Sierra 3 error diffusion
Sierra 2-row error diffusion
Sierra Lite error diffusion



Steve Pigeon error diffusion
Robert Kist error diffusion
Stevenson Arce error diffusion



Blue Noise dithering
Bayer 2x2 ordered dithering
Bayer 3x3 ordered dithering



Bayer 4x4 ordered dithering
Bayer 8x8 ordered dithering
Bayer 16x16 ordered dithering



Bayer 32x32 ordered dithering
Dispersed Dots v1 ordered dithering
Dispersed Dots v2 ordered dithering



Ulichney Void Dispersed Dots ordered dithering
Non-Rectangular v1 ordered dithering
Non-Rectangular v2 ordered dithering



Non-Rectangular v3 ordered dithering
Non-Rectangular v4 ordered dithering
Ulichney Bayer 5x5 ordered dithering



Ulichney ordered dithering
Clustered Dot v1 ordered dithering
Clustered Dot v2 ordered dithering



Clustered Dot v3 ordered dithering
Clustered Dot v4 ordered dithering
Clustered Dot v5 ordered dithering



Clustered Dot v6 ordered dithering
Clustered Dot v7 ordered dithering
Clustered Dot v8 ordered dithering



Clustered Dot v9 ordered dithering
Clustered Dot v10 ordered dithering
Clustered Dot v11 ordered dithering



Central White-Point ordered dithering
Balanced Central White-Point ordered dithering
Diagonal ordered dithering



Ulichney Clustered Dot ordered dithering
ImageMagick 5x5 Circle ordered dithering
ImageMagick 6x6 Circle ordered dithering



ImageMagick 7x7 Circle ordered dithering
ImageMagick 4x4 45-degree ordered dithering
ImageMagick 6x6 45-degree ordered dithering



ImageMagick 8x8 45-degree ordered dithering
ImageMagick 4x4 ordered dithering
ImageMagick 6x6 ordered dithering



ImageMagick 8x8 ordered dithering
Variable 2x2 ordered dithering
Variable 4x4 ordered dithering



Interleaved Gradient ordered dithering
Ostromoukhov variable error diffusion
Zhou Fang variable error diffusion



Thresholding
DBS v1 dithering
DBS v2 dithering



DBS v3 dithering
DBS v4 dithering
DBS v5 dithering



DBS v6 dithering
DBS v7 dithering
Kacker and Allebach dithering



Modified Riemersma (Hilbert Curve 1) dithering
Modified Riemersma (Hilbert Curve 2) dithering
Modified Riemersma (Peano Curve) dithering



Modified Riemersma (Fass0 Curve) dithering
Modified Riemersma (Fass1 Curve) dithering
Modified Riemersma (Fass2 Curve) dithering



Modified Riemersma (Gosper Curve) dithering
Modified Riemersma (Fass Spiral) dithering
Riemersma (Hilbert Curve 1) dithering



Riemersma (Hilbert Curve 2) dithering
Riemersma (Peano Curve) dithering
Riemersma (Fass0 Curve) dithering



Riemersma (Fass1 Curve) dithering
Riemersma (Fass2 Curve) dithering
Riemersma (Gosper Curve) dithering



Riemersma (Fass Spiral) dithering
Pattern (2x2) dithering
Pattern (3x3 v1) dithering



Pattern (3x3 v2) dithering
Pattern (3x3 v3) dithering
Pattern (4x4) dithering



Pattern (5x2) dithering
Lippens and Philips v1 dot dithering
Lippens and Philips v2 dot dithering



Lippens and Philips v3 dot dithering
Lippens and Philips (Guo Liu 16x16) dot dithering
Lippens and Philips (Mese and Vaidyanathan 16x16) dot dithering



Lippens and Philips (Knuth) dot dithering
Knuth dot diffusion
Mini-Knuth dot diffusion



Optimized Knuth dot diffusion
Mese and Vaidyanathan 8x8 diffusion
Mese and Vaidyanathan 16x16 dot diffusion



Guo Liu 8x8 dot diffusion
Guo Liu 16x16 dot diffusion
Spiral dot diffusion



Inverted Spiral dot diffusion