Skip to content

LCHab not correctly supported with -fill #8093

Open
@ace-dent

Description

@ace-dent

ImageMagick version

7.1.1-47 Q16-HDRI aarch64 22763

Operating system

MacOS

Operating system, version and so on

15.4 (24E248)

Description

When defining a color with -fill (or +level-colors), a parameter may be passed as lchab() (or other colorspace). No warning or error is issued, so the User can assume this is valid. However, the resulting color is not correct (hue is shifted). Discussed here: #8083.

Either the parameter should be rejected, or ideally the color is correctly calculated from the provided to the current colorspace.

Steps to Reproduce

Minimal test case: A hue=0 in LCHab should be red, but gives green:

magick -size 1x1 xc:'lchab(70,40,0)' -colorspace sRGB txt:

Other hues are also wrong, (e.g. 120˚ should give green, but is drawn as magenta).
It seems rgb() and hsb() work correctly.

@snibgo reported conversion is also broken on #8083 with:
lchuv and OHTA.

Images

Not required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions