Skip to content
portnov edited this page Dec 22, 2014 · 19 revisions

Palette editor

This tool (python + Qt) is for matching colors, creating and editing palettes, color schemes and so on. In some way, it's ancestor of Agave, paletton.com and similar services, and in some way even Swatchbooker.

Basic features:

  • Editable palette. User specifies some colors on palette (indicated with small circle in slot), other colors are generated automatically by mixing given colors. There are several models of mixing colors: RGB, CMYK, HSV, HCY, Lab, LCh, and so on. There is also implementation of RYB color model (Red-Yellow-Blue).
  • Palette can be loaded/saved to/from several formats. It's possible to read/save CSS (only rules specifying colors are written). Palette can be saved as raster or SVG image. Palette can be loaded from SVG image (all colors of image are used) or from raster image (only most common colors from image are used). Potentially, other palette formats can be implemented — at least ones implemented in Swatchbooker.
  • Two color selectors: HCY wheel and hue ring with saturation/value square, which can work in HLS, HCY, RYB, LCh.
  • Several standard color harmonies (two opposite colors, three colors etc). With HCY wheel, you can move harmonized colors by dragging them, if select Harmony = Manual. For each of harmonzied colors several shades are generated (by lightness, by saturation and so on).
  • Selected colors can be used to "automagically" colorize any selected SVG image (some templates are in distribution). Colors from source image are replaced with selected colors trying to save colors relationships: replace similar colors to similar, contrast to contrast. This feature is mainly to preview selected colors how they will work in more or less realistic composition, not just in rectangular table.

Github: https://github.com/portnov/color-palette

License — GPLv2 or any later.

Short user manual

Palette editor GUI

Common usage tecniques

  • Colors can be drag-n-dropped between different slots and selectors.
  • In most places, color can be changed with mouse wheel:
    • Scroll to change saturation.
    • Shift+Scroll to change lightness.
    • Ctrl+Scroll to change color hue.
  • Right mouse click on slot clears that slot.

Palette

Palette is a rectangular table with colors. Some of colors are explicitly defined by user; other are generated automatically by mixing given colors.

For colors mixing, several color models are supported:

  • RGB
  • HSV
  • HLS
  • HCY
  • HCY Desaturate - when mixing colors, straight segment on HCY color wheel is taken. So, when mixing saturated colors, you have less saturated color.
  • RYB - colors mixing on theoretical "Red-Yellow-Blue" color wheel. In particular, by this theory, red plus green gives gray, and blue plus yellow gives green.
  • CMYK
  • CMY - imitates "substractive" mixing of paints on paper, when mixing of relatively light colors gives more dark color, because more pigment is used.
  • HSI (experimental) - experimental mode, maybe someone will like it.
  • LCh
  • Lab.

Color mixing modes preview

Colors in palette, which are marked with small circle in corner, are explicitly defined by user; other are generated automatically. You can put color into palette by drag-n-dropping it from somewhere. To mark color as user-defined or unmark it, click with right mouse button on it. You can drag-n-drop colors in palette, or from palette, or to/from other applications, such as MyPaint or Krita.

Palette can work in two modes: "locked" and "edit mode". Modes are toggled by button in the toolbar. In locked mode, you can only select colors from palette. In edit mode, you can also change colors, add or remove rows or columns. Two modes are designed to avoid accidential changes in palette.

Scratchpad

Just seven slots to store colors temporarly, to use them later in palette or somewhere else. "Shades" button puts first five colors from scratchpad to swatches on right, and generates shades for them according to current settings.

Palette toolbar

From left to right:

  • Open palette in one of supported formats. You can also drag-n-drop file to palette area to open it.
  • Download palette from Colorlovers.com.
  • Save palette in one of supported formats.
  • Toggle palette edit mode (toggled off by default).
  • Decrease/increase value (HSV) of all colors in palette.
  • Increase/decrease saturation (HSV) of all colors in palette.
  • Rotate all colors clockwise/counterclockwise.
  • Increase/decrease contrast: make light colors lighter, dark colors darker; or vice-versa.

Downloading palettes from Colorlovers.com

If python-colourlovers package is installed, then downloading palettes from http://colorlovers.com by using their API is available. General view of download dialog:

Download dialog