Extract the dominant colors from any image.

Overview

Paleta

Find the dominant color palette from any image and manage palettes with Paleta. An intuitive tool for designers, artists, or anyone looking to streamline their color work.

Screenshot 0

Features

  • Drag and drop images to load
  • Color extraction with color-thief
  • Save extracted palettes for later use
  • Modify saved palette name and colors
  • Add new palettes from scratch

Note: Paleta is under active development! If you would like to suggest any features or if you find any bugs, your feedback is very welcome!

Flatpak

You can install stable builds of Paleta from Flathub by using this command:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.nate_xyz.Paleta

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12 Screenshot 13 Screenshot 14 Screenshot 15

Comments
  • Consider using faster version of `colorthief`

    Consider using faster version of `colorthief`

    There is an faster version of colorthief Python library, named fast-colorthief written in C++ and uses pybind to bind it as a Python library. From a benchmark presented in README, it says that Fast Colorthief is nearly 15x faster when used with a 1200x1200 pixels image.

    Such a boost would be beneficial for more advanced users, like photographers with cameras that can produce in 4K or higher, but it can also benefit users that just want to get color palette quickly from a high-definition photo.

    From what I quickly checked, the original and the C++ version have the same function names, and probably also all of the methods, so fast-colorthief should work like a drop-in replacement for original colorthief library.

    opened by tfuxu 19
  • Add translation support

    Add translation support

    I would be nice to be able to translate this app into several languages, this would require a .pot file with the translatable strings in the /po directory..

    opened by rene-coty 3
  • "Open" label next to open button

    There should be a label inside of the open button, simply saying "Open" to more clearly explain what the button does. Similar thing can also be with the edit button on the Palette page.

    opened by gregorni 3
  • Help with a translation file

    Help with a translation file

    I figured out the translation file.po and translated it to hindi but i'm not a developer and don't know how to do pull requests. Can someone help out?

    opened by RadioactiveRadio 2
  • Drop `colorthief` in favor of faster `fast-colorthief`

    Drop `colorthief` in favor of faster `fast-colorthief`

    Description

    This PR replaces original colorthief library with faster fast-colorthief, written in C++ and adapts Paleta codebase to changes in the new library. It also includes some minor changes, like fix in Flatpak manifest, updated .gitignore and added notes about match...case statements.

    Included changes:

    * adapt Paleta codebase to the changes in `fast-colorthief` code
    * add `numpy` to runtime requirements
    * update pypi-dependencies.json
    * fix Flatpak manifest unable to find project root directory
    * add note about `match...case` statement
    * update .gitignore
    
    opened by tfuxu 1
  • Better appdata summary

    Better appdata summary

    The current summary "Extract the dominant colors from any image." could be better, it's a bit too long and has a period at the end.

    I'd recommend something like "Extract color palettes from images" or "Generate color palettes".

    More general guidance here: https://gitlab.gnome.org/GNOME/Initiatives/-/wikis/App-Metadata

    opened by bertob 1
  • Update paths in translation files

    Update paths in translation files

    Description

    This PR updates paths in translation files to a new ones for Rust modules. Done automatically by using ninja's helper command: ninja -C _builddir paleta-update-po

    Included changes:

    * rename `simple_row` module to `simple_palette_row`
    * update translation files
    
    opened by tfuxu 0
  • Refactor and other miscellaneous changes

    Refactor and other miscellaneous changes

    Description

    This PR contains a Paleta codebase refactor and some other miscellaneous changes.

    Included changes:

    • Refactor Rust modules
    • Move Flatpak manifest to build-aux and change a path to point to the root directory
    • Add .editorconfig and format some top-level files with it
    • Add DOAP metadata (required in GNOME Circle)
    • Use action GLib macro instead of gio::ActionEntry::builder function
    • Add Ctrl+W shortcut for closing Paleta's window
    • Remove color-thief-py from acknowledgements section in About window
    • Stop using i18n_f function in some remaining strings and make delete_palette_dialog heading string translatable
    • Move most configuration stuff to the main meson.build
    • Merge run and setup shell scripts into new local-build.sh
    • Update gdk-pixbuf crate to 0.16
    opened by tfuxu 0
  • Italian translation.

    Italian translation.

    Hi! I'd like to create an Italian translation. Is there already someone working on it? Are there any guidelines to follow? Let me know.

    PS. Thanks for the great app!

    opened by Bavuett 3
  • Support WebP, AVIF, & JXL Image Formats

    Support WebP, AVIF, & JXL Image Formats

    WebP is already immensely popular on the web while AVIF is gaining traction quickly & is already well-supported by every major web browser. JXL (JPEG-XL) is designed to be the successor to JPEG, has been endorsed by companies like Facebook, Adobe, Shopify, & Cloudinary, and is already gaining popularity in professional workflows. All three formats are open source. You can look into them more here: AVIF | WebP | JXL

    Thanks so much for the wonderful application, I enjoy your work!

    opened by gianni-rosato 1
  • Feature Request: Color generation using the colors you already have in a palette

    Feature Request: Color generation using the colors you already have in a palette

    i really like this project. But i noticed that while getting colors from images is easy enough, adding and generating colors is not. I think this project could really benefit from a feature like generating color palettes using color schemes from the colors you already have in your palettes like how coolors.co does it.

    opened by RadioactiveRadio 8
  • Design improvements

    Design improvements

    Hi! The current UI of Paleta is pretty good, but it has some weak points:

    • The initial state seems empty and unwelcoming.
    • The main view feels a little clunky/cluttered, and a little out-of-place among other GNOME apps.
    • It feels like the app tries to be both a color extractor and palette manager at the same time. Paleta would benefit from focusing on color extracting, which is its core functionality. There are already some very good GNOME apps for palette management. Having a way to store the palettes for later is still useful, though. :grin:

    Based on this, I have created a mockup with some design suggestions. I haven't reinvented the wheel, as the sidebar is a really good layout solution, but it has received style changes. I have given the image view some padding to make the it feel more airy.

    The biggest design change is probably how the palettes are stored for later. Instead of a separate section with the ability to create custom palettes from scratch and name, this design uses a bookmarking function. This is more in the scope of the app, as the main use case for saving a palette would be to quickly store it for later. Naming, categorizing and editing palettes is a use case that deserves its own app.

    I realize that the changes I suggest are really big, but they don't necessarily need to be implemented all at once. If you think some of them are unnecessary / out of scope for the app, you can just implement the things you like. These are just suggestions, after all :smiley:

    paleta-design-improvements

    opened by bragefuglseth 10
Releases(v0.3.1)
A CLI tool to find the dominant colours in an image 🎨

dominant_colours This is a command-line tool for finding the dominant colours of an image. It prints their hex codes to the terminal, along with a pre

Alex Chan 65 Nov 10, 2022
Parse hex colors to tui rgb colors

Parse hex colors to tui rgb colors

Uttarayan Mondal 1 Nov 8, 2021
List of Persian Colors and hex colors for CSS, SCSS, PHP, JS, Python, and Ruby.

Persian Colors (Iranian colors) List of Persian Colors and hex colors for CSS, SCSS, PHP, C++, QML, JS, Python, Ruby and CSharp. Persian colors Name H

Max Base 12 Sep 3, 2022
Command-Line program that takes images and produces the copy of the image with a thin frame and palette made of the 10 most frequent colors.

paleatra v.0.0.1 Command-Line program that takes an image and produces the copy of the image with a thin frame and palette made of the 10 most frequen

Beka Modebadze 24 Dec 29, 2022
Standard Graphics is a command-line tool for printing 2D graphics from any language to any screen.

2D graphics in any programming language with just print statements!

Caleb Winston 123 Nov 20, 2022
A CLI utility installed as "ansi" to quickly get ANSI escape sequences. Supports the most basic ones, like colors and styles as bold or italic.

'ansi' - a CLI utility to quickly get ANSI escape codes This Rust project called ansi-escape-sequences-cli provides an executable called ansi which ca

Philipp Schuster 5 Jul 28, 2022
Simple ansi colors

Simple ansi colors

null 1 Dec 24, 2021
Rust library to convert RGB 24-bit colors into ANSI 256 (8-bit) color codes with zero dependencies and at compile-time.

rgb2ansi256 rgb2ansi256 is a small Rust library to convert RGB 24-bit colors into ANSI 256 (8-bit) color codes with zero dependencies and const fn. Th

Linda_pp 7 Nov 17, 2022
Not the fastest terminal colors library. Don't even ask about size.

TROLOLORS Not the fastest terminal colors library. Don't even ask about size. Why? Don't even try to use it. But maybe you need to say to your boss th

Dmitriy Kovalenko 15 Oct 27, 2021
Parse hex colors to tui::style::Color

Color -> Tui Parse hex colors to tui rgb colors #c3f111 -> Color::Rgb(195,241,17) Note that the indexed colors are NOT HEX #142 -> Color::Indexed(142)

Uttarayan Mondal 1 Nov 8, 2021
Vari (Väri) is a Rust library for formatting strings with colors and cosmetic stuff to the terminal.

Vari Vari (Väri) is a Rust library for formatting strings with colors and cosmetic stuff to the terminal. Like Rich library for Python. Väri means "co

azur 13 Nov 2, 2022
A rust crate for working with colors and color spaces.

Color Art A rust crate for working with colors and color spaces. Documentation See Color Art. Usage Add Dependency [dependencies] color-art = "0.2" Co

cx33 5 Dec 30, 2022
Customize window border colors :3

cute-borders Makes focused and unfocused window borders have a different border color, configurable per program. Windows 11 only. Preview Installing D

Elaina 6 Aug 16, 2023
Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes

What is Lust? Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes with scaling in mind.

Harrison Burt 242 Dec 22, 2022
Save image from your clipboard 📋 as an image file directly from your command line! 🔥

Clpy ?? Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

Piyush Suthar 13 Nov 28, 2022
Takes a folder of images (as a palette), and an image, and figures out how to tile the palette to resemble the image!

Takes a folder of images (as a palette), and an image, and figures out how to tile the palette to resemble the image!

Jacob 258 Dec 30, 2022
Rust Lean Image Viewer - Fast and configurable image viewer inspired by JPEGView by David Kleiner

Rust Lean Image Viewer - Fast and configurable image viewer inspired by JPEGView by David Kleiner

3top1a 4 Apr 9, 2022
Conference Monitoring Project based on Image Recognition that uses Rust Language and AWS Rekognition service to get the level of image similarity.

Conference Monitoring System based on Image Recognition in Rust This is a Conference Monitoring Project based on Image Recognition that uses Rust Lang

Pankaj Chaudhary 6 Dec 18, 2022
A Rust library to extract useful data from HTML documents, suitable for web scraping.

select.rs A library to extract useful data from HTML documents, suitable for web scraping. NOTE: The following example only works in the upcoming rele

Utkarsh Kukreti 829 Dec 28, 2022
Like jq, but for HTML. Uses CSS selectors to extract bits content from HTML files.

Like jq, but for HTML. Uses CSS selectors to extract bits content from HTML files. Mozilla's MDN has a good reference for CSS selector syntax.

Michael Maclean 6.3k Jan 3, 2023