a bit like adding the two images
this leaves the first object mostly intact, but mixes both objects in the overlapping area
where the second object is drawn, the first is removed
darken first by a factor of second
brighten first by a factor second
the darker of each component
leaves the first object untouched, the second is discarded completely
like ATOP, but swaps the arguments
like IN, but swaps the arguments
like OUT, but swaps the arguments
like OVER, but swaps the arguments
difference of the two
somewhat like DIFFERENCE, but lower-contrast
multiply or screen, depending on lightness
the first object is removed completely, the second is only drawn where the first was
the lighter of each component
at least as dark as the darker of the two inputs
the second is drawn only where the first isn't
the image shows what you would expect if you held two semi-transparent slides on top of each other
multiplies or screens colors, depending on the lightness
a bit like the darker of the two
at least as light as the lighter of the inputs
darken or lighten, depending on lightness
the second object is drawn as if nothing were below
something like a difference operator
The various Porter-Duff and PDF blend modes. See vips_composite(), for example.
The Cairo docs have a nice explanation of all the blend modes:
https://www.cairographics.org/operators
The non-separable modes are not implemented.