Image Processing Functions

Describes the image processing functions supported by Kirikiri Z.

Table of Contents

Specifications
Blend Operations



Blend
Operations
Opaque Multiply Photoshop Compatible
Linear Dodge (Additive)
Photoshop Compatible
Hard Light
Photoshop Compatible
Lighten
Alpha Blend Dodge Photoshop Compatible
Linear Burn (Subtractive)
Photoshop Compatible
Soft Light
Photoshop Compatible
Darken
Additive Alpha Lighten Photoshop Compatible
Multiply
Photoshop Compatible
Color Dodge
Photoshop Compatible
Difference
Additive Darken Photoshop Compatible
Screen
Photoshop V.5.x or lower Compatible
Color Dodge
Photoshop V.5.x or lower Compatible
Difference
Subtractive Screen Multiply Photoshop Compatible
Overlay
Photoshop Compatible
Color Burn
Photoshop Compatible
Exclusion



No.TypeFormulaDescription
1 Opaque result = src Performs blending without referencing the alpha channel.
2 Alpha Blend result = blend(dest, src, α) Performs alpha blending.
The most basic type used for transparency.
3 Additive Alpha result = min(1.0, dest × ( 1.0 - α ) + src) Performs additive alpha blending.
4 Additive result = min(1.0, dest × ( 1.0 - α ) + src) Performs additive blending. Suitable for representing glows/light effects.
Equivalent to "Linear Dodge" in Photoshop, but alpha is ignored in this blend.
The neutral color (the color that causes no change when layered) is black.
5 Subtractive result = max(0.0, dest + src - 1.0)
* The only difference from result = dest - src is whether src is inverted or not.
Performs subtractive blending. Alpha is ignored.
The neutral color is white.
6 Multiply result = dest × src Performs multiply blending.
Alpha is ignored.
The neutral color is white.
7 Dodge result = min(1.0, dest ÷ ( 1.0 - src ) ) Performs dodge blending.
Suitable for representing things illuminated by light.
Alpha is ignored.
The neutral color is black.
8 Lighten result = max(dest, src) Performs "Lighten" blending.
Alpha is ignored.
The neutral color is black.
9 Darken result = min(dest, src) Performs "Darken" blending.
Alpha is ignored.
The neutral color is white.
10 Screen Multiply result = 1.0 - ( 1.0 - dest ) × ( 1.0 - src ) Performs "Screen Multiply" blending.
Alpha is ignored.
The neutral color is black.
11 Photoshop Compatible
Linear Dodge
(Additive)
result = blend(dest, min(1.0, dest + src), α) Performs Photoshop-compatible "Linear Dodge" blending (additive blending).
Unlike 4. Additive Blend, alpha is not ignored.
The neutral color is black.
12 Photoshop Compatible
Linear Burn
(Subtractive)
result = blend(dest, max(0.0, dest + src - 1.0), α) Performs Photoshop-compatible "Linear Burn" blending (subtractive blending).
Unlike 5. Subtractive Blend, alpha is not ignored.
The neutral color is white.
13 Photoshop Compatible
Multiply
result = blend(dest, dest × src, α) Performs Photoshop-compatible "Multiply" blending.
Unlike 6. Multiply Blend, alpha is not ignored.
The neutral color is white.
14 Photoshop Compatible
Screen
result = blend(dest, 1.0 - (1.0 - dest) × (1.0 - src), α) Performs Photoshop-compatible "Screen" blending.
Unlike 10. Screen Multiply Blend, alpha is not ignored.
The neutral color is black.
15 Photoshop Compatible
Overlay
result = blend(dest, overlay(dest, src), α)
Where overlay(a, b) =
a × b × 2.0 (when a < 0.5)
1.0 - (1.0 - a) × (1.0 - b) × 2.0 (otherwise)
Performs Photoshop-compatible "Overlay" blending.
The neutral color is 50% gray.
16 Photoshop Compatible
Hard Light
result = blend(dest, hardlight(dest, src), α)
Where hardlight(a, b) =
a × b × 2.0 (when b < 0.5)
1.0 - (1.0 - a) × (1.0 - b) × 2.0 (otherwise)
Performs Photoshop-compatible "Hard Light" blending.
The neutral color is 50% gray.
17 Photoshop Compatible
Soft Light
result = blend(dest, softlight(dest, src), α)
Where softlight(a, b) =
(Paste the formula written in Latex later)
Performs Photoshop-compatible "Soft Light" blending.
The neutral color is 50% gray.
18 Photoshop Compatible
Color Dodge
result = blend(dest, min(1.0, dest ÷ ( 1.0 - src ) ), α) Performs Photoshop-compatible "Color Dodge" blending.
Unlike ltDodge, alpha is not ignored.
The neutral color is black.
19 Photoshop Ver.5.x or lower Compatible
Color Dodge
result = min(1.0, dest ÷ ( 1.0 - src × α) ) Performs "Color Dodge" blending compatible with Photoshop version 5.x or lower.
The formula is slightly different from 18. Photoshop Compatible Color Dodge.
The neutral color is black.
20 Photoshop Compatible
Color Burn
result = blend(dest, max(0.0, 1.0 - (1.0 - dest) ÷ src), α) Performs Photoshop-compatible "Color Burn" blending.
The neutral color is white.
21 Photoshop Compatible
Lighten
result = blend(dest, max(dest, src), α) Performs Photoshop-compatible "Lighten" blending.
Unlike 8. Lighten Blend, alpha is not ignored.
The neutral color is black.
22 Photoshop Compatible
Darken
result = blend(dest, min(dest, src), α) Performs Photoshop-compatible "Darken" blending.
Unlike 9. Darken Blend, alpha is not ignored.
The neutral color is white.
23 Photoshop Compatible
Difference
result = blend(dest, abs(dest - src), α) Performs Photoshop-compatible "Difference" blending.
The neutral color is black.
24 Photoshop Ver.5.x or lower Compatible
Difference
result = abs(dest - src × α) Performs "Difference" blending compatible with Photoshop version 5.x or lower.
The formula is slightly different from 23. Photoshop Compatible Difference.
The neutral color is black.
25 Photoshop Compatible
Exclusion
result = blend(dest, dest + src - 2.0 × src × dest, α) Performs Photoshop-compatible "Exclusion" blending.
The neutral color is black.