Flat art wants a different opening
The front page is set up for photographs: three tolerances and a hue shift that keeps shading. A logo has no shading to keep, so this door opens with the ΔE radius metric, absolute replace and lightness not kept, which writes the typed colour onto the solid fill. The receipt then reads “exact” wherever sRGB can show the target.
When the file is an indexed PNG the recolour is not an image operation at all: the palette table is rewritten and every compressed pixel byte is copied. The export confirmation proves it with three checks — file size, bytes outside the table, and the table's checksum.
Where a logo recolour goes wrong
- A JPG logo carries compression noise around every edge; widen the radius a little, or start from the PNG original if there is one.
- Gradients are not flat fills; use hue shift for them, or the colour variants page for a set.
Questions people bring to this page
- Why is the selection one radius here instead of three sliders?
- A logo is flat colour. “This colour and anything within a whisker of it” is the whole instruction, and one Euclidean radius in OKLab (ΔE_OK) says exactly that. Three separate bands are for photographs, where a surface's light and shadow spread differently in each direction.
- Will the antialiased edge go grey or fringed?
- No. Edge pixels are partly the fill and partly the background; the soft band gives them a partial weight, so they move partly towards the new colour. That keeps the edge smooth. Absolute replace is the opening mode, so the fill lands on the typed hex exactly where the logo is solid.
- My logo is a PNG with a palette. Does it stay one?
- Yes. If the file is an indexed PNG, the Save as list opens on “Indexed PNG, palette rewritten”: only the colour table is changed and every pixel index is copied untouched, so the file stays the same size. The Palette panel shows the table itself, entry by entry, for direct edits.
- Is transparency kept?
- In PNG and WebP, yes — transparent pixels are never a colour to remap and are carried through. A JPG has no transparency, so the rail asks which colour to flatten it onto, white by default.
Next door
- Indexed PNG paletteRewrite PLTE colour definitions without touching compressed pixel indices.
- Match a brand colourType the hex, see what the selection can carry, and solve as close as sRGB allows.
- Map onto a paletteMove every pixel to its nearest of your 2–16 swatches, with usage per swatch.
Image data is never posted anywhere: decode, mask, remap and encode all happen inside this tab's memory, and that memory is released when you leave.