diff options
| author | Eric Biedert <github@ericbiedert.de> | 2024-06-22 11:09:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-22 09:09:28 +0000 |
| commit | 381a82e764829281b22d4959333c7c0f477a53e3 (patch) | |
| tree | 622ad14723655fdd2728ffa8cd5f714188c28407 | |
| parent | 0fbec820355f9f61161b56dc7b757e8a2f5aef4f (diff) | |
Fix color mixing and gradients in luma space (#4424)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
| -rw-r--r-- | crates/typst/src/visualize/color.rs | 2 | ||||
| -rw-r--r-- | tests/ref/issue-color-mix-luma.png | bin | 0 -> 126 bytes | |||
| -rw-r--r-- | tests/suite/visualize/color.typ | 4 |
3 files changed, 5 insertions, 1 deletions
diff --git a/crates/typst/src/visualize/color.rs b/crates/typst/src/visualize/color.rs index 185e990b..17f4b5a4 100644 --- a/crates/typst/src/visualize/color.rs +++ b/crates/typst/src/visualize/color.rs @@ -1191,7 +1191,7 @@ impl Color { Color::Hsv(Hsv::new(RgbHue::from_degrees(m[0]), m[1], m[2], m[3])) } ColorSpace::Cmyk => Color::Cmyk(Cmyk::new(m[0], m[1], m[2], m[3])), - ColorSpace::D65Gray => Color::Luma(Luma::new(m[0], m[1])), + ColorSpace::D65Gray => Color::Luma(Luma::new(m[0], m[3])), }) } diff --git a/tests/ref/issue-color-mix-luma.png b/tests/ref/issue-color-mix-luma.png Binary files differnew file mode 100644 index 00000000..95716892 --- /dev/null +++ b/tests/ref/issue-color-mix-luma.png diff --git a/tests/suite/visualize/color.typ b/tests/suite/visualize/color.typ index 33259461..da93cb4e 100644 --- a/tests/suite/visualize/color.typ +++ b/tests/suite/visualize/color.typ @@ -329,3 +329,7 @@ #color.hsl(blue) \ #color.hsv(blue) \ #luma(blue) + +--- issue-color-mix-luma --- +// When mixing luma colors, we accidentally used the wrong component. +#rect(fill: gradient.linear(black, silver, space: luma)) |
