Free

Free coded apps to suit all. No sign up, no email, usable offline, updates when I can, feedback welcome. Send feedback

Behind the scenes

Colour filters and Pixel Maths in Paint by Zaweba

Alien Map, Colour Exchange, Palette Map, Normal Map and a per-channel formula filter with presets: the colour filters in Paint by Zaweba explained.

Colour filters and Pixel Maths in Paint by Zaweba

Most colour work in an image editor happens through adjustments such as Levels, Curves and Hue/Saturation. The colour filters in Paint by Zaweba are a different, more experimental set. They swap, rotate, map and calculate colours in ways adjustments do not, and one of them, Pixel Maths, lets you write your own formula.

Swapping and rotating colours

Colour Exchange replaces one colour with another, which is a fast way to recolour a flat graphic such as a logo, an icon or a uniform on a simple background. Rotate Colours shifts a range of hues to another part of the colour wheel, so you can turn a red car blue without disturbing the green trees behind it, as long as the two colours are well apart.

Value Invert inverts brightness while keeping hue, which is not the same as a plain invert. A plain invert turns blue sky orange; Value Invert keeps it blue but swaps light and dark. That makes it useful for turning a light design into a dark mode version.

HSB and HSL conversion change how colour is represented on the layer, which is mostly useful as a step in more technical work, such as editing hue as if it were a grey channel.

Mapping colours

Palette Map remaps the picture's brightness through a gradient, giving gradient-map style colour grades: duotones, sepia, and the stylised looks seen on music posters. Sample Colourise takes the colours of one picture and applies them to another, a quick way to match the mood of a reference photo or to colour a black-and-white image.

Alien Map pushes colours through wave functions, with wild, psychedelic results. It is not for subtle work, but it is great for backgrounds and album art.

Normal Map

Normal Map creates a normal map from a picture. Normal maps are the purple-blue textures used in 3D and games to fake fine surface detail such as the bumps of brick or the grain of leather. Feed it a grey height texture, perhaps one made with the Render filters, and you get a matching normal map for your 3D model.

Pixel Maths

Pixel Maths applies a formula to each channel of every pixel. You write an expression for red, green and blue, and Paint works it out per pixel. The functions include sin, cos, mix, smoothstep and noise, among others. Sin and cos make wavy patterns and rainbows; mix blends between values; smoothstep makes soft transitions; noise adds randomness.

If writing formulas sounds daunting, start from the presets that ship with the filter. Open one, see what it does, then change a number and watch the preview. It is an easy way to learn how the formulas behave, and it opens the door to effects nobody built as a menu item.

Getting the best from colour filters

Work on a duplicate layer, especially with Alien Map and Pixel Maths, whose results can be extreme. Lower the layer opacity or use a blend mode to bring them back to something usable.

For recolouring a photo, prefer adjustment layers when you want to edit later, and use Colour Exchange and Rotate Colours for flat graphics or when you are sure of the change.

Make normal maps at the size of the texture they will sit with, so the detail lines up.

Mistakes to avoid with colour filters

Rotate Colours on skin is risky, since skin shares hues with many backgrounds; select the area first. Pixel Maths formulas can produce values that clip to pure white or black, so check highlights. And keep the original layer; these filters are often one step in a chain, and you may want to go back.

These filters show how much Paint by Zaweba has under the surface. Most people will reach for them rarely, but when you need one, it saves a lot of fiddly work.