Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/doprz/dipc

Convert your favorite images and wallpapers with your favorite color palettes/themes
https://github.com/doprz/dipc

cli color-palette color-scheme hacktoberfest hacktoberfest2023 image-converter image-processing rust

Last synced: 13 days ago
JSON representation

Convert your favorite images and wallpapers with your favorite color palettes/themes

Awesome Lists containing this project

README

        

# dipc

[![crates.io](https://img.shields.io/crates/v/dipc)](https://crates.io/crates/dipc)
[![Homebrew](https://img.shields.io/homebrew/v/dipc)](https://formulae.brew.sh/formula/dipc)


dipc light icon

doprz' image palette converter

Convert your favorite images and wallpapers with your favorite color palettes/themes

## Color Palettes/Themes

- catppuccin
- dracula
- edge
- everforest
- gruvbox
- gruvbox-material
- nord
- onedark
- rose-pine
- solarized
- tokyo-night

## Examples

![dipc examples](images/dipc_examples.png)

### Image Credits

Paul Bill - [https://unsplash.com/@hoffman11](https://unsplash.com/@hoffman11)

Adrien Vajas - [https://unsplash.com/@adrien_vj](https://unsplash.com/@adrien_vj)

Filipp Romanovski - [https://unsplash.com/@filipp_roman_photography](https://unsplash.com/@filipp_roman_photography)

## Installation

### Homebrew

```sh
brew install dipc
```

### Cargo

```sh
cargo install dipc
```

### From Source

To build and install from source, first checkout the tag or branch you want to install, then run

```sh
cargo install --path .
```

This will build and install `dipc` in your `~/.cargo/bin`. Make sure that `~/.cargo/bin` is in your `$PATH` variable.

## Usage

```
Convert your favorite images and wallpapers with your favorite color palettes/themes

Usage: dipc [OPTIONS] [FILE]...

Arguments:

The color palette to use:
- name of a builtin theme
- path to a theme in JSON
- a JSON string with the theme (starting with `JSON: {}`)
Run with --help instead of -h for a list of all builtin themes

Builtin themes:
- catppuccin
- dracula
- edge
- everforest
- gruvbox
- gruvbox-material
- nord
- onedark
- rose-pine
- solarized
- tokyo-night

[FILE]...
The image(s) to process

Options:
-s, --styles
The color palette variation(s) to use
Run with --help instead of -h for a list of all possible values

Possible values:
- `all` to generate an image for each of the variations
- `none` if you are using a flat theme without variations
- or a comma-delimited list of the names of variations it should use

[default: all]

-o, --output
Output image(s) name/path as a comma-delimited list

-d, --dir-output
Output directory name/path

-m, --method
CIELAB DeltaE method to use

[default: de2000]

Possible values:
- de2000: The default DeltaE method
- de1994g: CIE94 DeltaE implementation, weighted with a tolerance for graphics
- de1994t: CIE94 DeltaE implementation, weighted with a tolerance for textiles
- de1976: The original DeltaE implementation, a basic euclidian distance formula

-v, --verbose...
Verbose mode (-v, -vv, -vvv)

-h, --help
Print help (see a summary with '-h')

-V, --version
Print version
```

### Convert all images in directory

```sh
# Save to current directory
dipc /*

# Save to output directory
dipc --dir-output /*
```

### Convert multiple images

```sh
dipc img0.png img1.png

# Rename files
dipc --output new-img0.png,new-img1.png img0.png img1.png
```

### Color palette variation(s)/style(s)

```sh
dipc --styles Style0 img.png
dipc --styles Style0,Style1 img.png
```

### CIELAB DeltaE method

```sh
dipc --method img.png
```

## License

`dipc` is dual-licensed under the terms of both the MIT License and the Apache License 2.0

SPDX-License-Identifier: MIT OR Apache-2.0