All Projects â†’ blenderskool â†’ pigmnts

blenderskool / pigmnts

Licence: MIT license
ðŸŽĻ Color palette generator from an image using WebAssesmbly and Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to pigmnts

wasm-adventure
My adventure into the marvelous world of Web Assembly
Stars: ✭ 49 (+28.95%)
Mutual labels:  wasm, web-assembly
Tfjs
A WebGL accelerated JavaScript library for training and deploying ML models.
Stars: ✭ 15,834 (+41568.42%)
Mutual labels:  wasm, web-assembly
wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-47.37%)
Mutual labels:  wasm, web-assembly
epick
Color picker for creating harmonic color palettes that works on Linux, Windows, macOS and web.
Stars: ✭ 89 (+134.21%)
Mutual labels:  wasm, color-palette
matchbox
Painless peer-to-peer WebRTC networking for rust wasm
Stars: ✭ 276 (+626.32%)
Mutual labels:  wasm
wasp
🐝 Wasp : Wasm programming (language)
Stars: ✭ 93 (+144.74%)
Mutual labels:  wasm
wsPlayer
wsPlayer is a web video player based on WebSocket-fmp4.
Stars: ✭ 88 (+131.58%)
Mutual labels:  wasm
watpl
Create WebAssembly modules using template strings
Stars: ✭ 14 (-63.16%)
Mutual labels:  wasm
kmeans
A simple implementation of K-means (and Bisecting K-means) clustering algorithm in Python
Stars: ✭ 18 (-52.63%)
Mutual labels:  kmeans
jupiter
Wasm smart contract networks powered by Substrate FRAME Contracts pallet in Polkadot ecosystem.
Stars: ✭ 49 (+28.95%)
Mutual labels:  wasm
aart
Convert images and video to ascii art!
Stars: ✭ 18 (-52.63%)
Mutual labels:  color-palette
rotation master
Provide conversion between the major representations of 3D rotation and visualize the orientation of a rigid body
Stars: ✭ 157 (+313.16%)
Mutual labels:  wasm
rabin-wasm
Rabin fingerprinting implemented in WASM
Stars: ✭ 26 (-31.58%)
Mutual labels:  wasm
parametric surfaces
Parametric surfaces drawn using the Rust + WASM toolchain with WebGL, React, and TypeScript.
Stars: ✭ 43 (+13.16%)
Mutual labels:  wasm
aframe-colorwheel-component
A-Frame Colorwheel. Based on A-Painter and A-Frame Material ðŸŽĻ🅰
Stars: ✭ 16 (-57.89%)
Mutual labels:  color-palette
go-wasm-pdfcpu
Running a Command line tool written in Go on browser with WebAssembly
Stars: ✭ 79 (+107.89%)
Mutual labels:  wasm
tiny-secp256k1
A tiny secp256k1 native/JS wrapper
Stars: ✭ 41 (+7.89%)
Mutual labels:  wasm
ConkyMatic
Automatic Conky color scheme changer based on the current wallpaper colors. Written in Bash.
Stars: ✭ 29 (-23.68%)
Mutual labels:  color-palette
boids
ðŸĶĒ The boids flocking simulation in Wasm using Ebiten!
Stars: ✭ 56 (+47.37%)
Mutual labels:  wasm
catppuccin
ðŸ˜ļ Soothing pastel theme for the high-spirited!
Stars: ✭ 2,046 (+5284.21%)
Mutual labels:  color-palette

ðŸŽĻ Pigmnts

Pigmnts is a color palette creator from an image built using Rust. It uses the K-means++ clustering algorithm to select the most commonly occurring colors from the image.

Pigmnts library is compiled to WebAssembly which allows for super-fast color palette extraction from an image on the web. The library can be found in the lib directory.

Pigmnts CLI

Pigmnts CLI is a tool designed to create color palettes from an image right on your terminal. It supports various image formats like JPEG, PNG, GIF, WebP, TIFF along with external HTTP(S) image URLs. It provides a beautiful terminal output to preview the colors in the palette.

Pigmnts CLI comes with various output modes and provides on-demand data of the palette generated while maintaining high speeds.

Installing the CLI

CLI can be installed using cargo and pigmnts-cli crate on crates.io

cargo install pigmnts-cli

Output modes

Default mode

The default mode displays the palette in a user-friendly way with a small preview and corresponding color codes in a tabular structure. This is meant for the common use of the CLI.

Quiet (or Silent) mode

This mode displays only the essential output without the intermediate logs. The output is in plain text format with each data item separated by :. This is meant for use in a pipeline where the output of the CLI is used as input for another process. It can be activated by the -q or --quiet flag.

Flags and options in the CLI

The following flags and options are supported by the latest release of the CLI.

FLAGS:
    -d, --dominance    Enable dominance percentage of colors
    -h, --help         Prints help information
    -x, --hex          Enable Hex code output of colors
    -s, --hsl          Enable HSL output of colors
    -l, --lab          Enable L*AB output of colors
    -q, --quiet        Suppress the normal output [aliases: silent]
    -r, --rgb          Enable RGB output of colors
    -n, --name         Nearest name for the color
    -V, --version      Prints version information

OPTIONS:
    -c, --count <COUNT>...    Number of colors in the palette

Examples of these flags

  • pigmnts pic-1.jpg -c 5 pic-2.jpg -c 8
    Generate a palette of 5 colors from pic-1.jpg and 8 colors from pic-2.jpg.

  • pigmnts pic-1.jpg -rxdl
    Generate a palette of 5 colors from pic-1.jpg and show the RGB code, hex code, dominance, LAB code for each color in the palette.

  • pigmnts pic-1.jpg --count 10 --name --hex
    Generate a palette of 10 colors from pic-1.jpg and show the name, hex code for each color in the palette.

  • pigmnts pic-1.jpg pic-2.jpg -sxq
    Generate a palette of 5 colors from pic-1.jpg and pic-2.jpg. For each color in the palette show the HSL code, hex code in quiet mode.

Contributing

This repository is a Cargo workspace that includes the development of both core Pigmnts library and the CLI.

Project Structure

  • Pigmnts Library - development of the core library is in the lib directory.
  • Pigmnts CLI - root project is Pigmnts CLI that uses the Pigmnts library.

License

Pigmnts is MIT Licensed
The dataset for color names used in Pigmnts CLI is taken from https://github.com/meodai/color-names

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].