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. | Type | Formula | Description |
| 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. |