## Blending Modes Explained

·   ·  ☕ 2 min read

Back in time when I used to see Photoshop’s layers section, there was a list of things named like Darken, Multiply, Screen and so on. They used to change the color when that particular layer was placed on some other layer.

Later in my college days I came to know these were the well known blending modes. There are mathematical in nature and does maths on pixel by pixel basis.

Now I’m going to go through some of the blending modes. This documentation assumes knowledge of channels. And terminologies are for Foundry Nuke; as same operation have different names over different packages, but the work is same.

## Multiply

Multiply multiplies each channel information of one image to another. The result is subtractive as we multiply..

## Plus

Plus adds pixel value from background to the foreground.

## Screen

The screen is a conditional operation. It multiplies if pixel if higher than 50% threshold and plus if the value if the value if lower than 50%.

## Average

Average averages the range between both pixel channels. Mathematically A+B/2 (B=background, A=foreground).

## Min/Max

Min and Max keeps minimum and maximum per pixel value from both the images.

We can group above operation in one group and call it commutative. The operation in this group does not affect the result if background and the foreground are swapped, the result will be the same.

## Over

Over as the name implies, puts foreground over the background. Pixels are overwritten over the background.

## Minus

Minus subtract foreground pixel from the background pixel.

## From

This one is like minus, just it subtracts background pixel from foreground pixel.

## Divide

Divides foreground by background. A/B else 0.

## Matte

Matte is just like premultiplying foreground with its alpha. Otherwise it’s just over.

## Difference

Helpful in checking the difference between two states if comp.

## Overlay

Overlay is not to be confused with over. It multiply if B<0.5, screen if B> 0.5. Hard-light is with input swapped. 