Changes for version 2.1 - 2026-05-05

  • = big feature release: +12 spaces, +6 args, +2 features
  • * add color spaces: LinearRGB, CIERGB, Adobe 98 RGB, Apple RGB, ProPhoto RGB, Wide Gamut RGB, Rec.709, Rec.2020, Linear Display P3, Display P3, Linear DCI P3, DCI P3
  • + add 'is_in_gamut' argument 'color' and 'in' (check if color is in gamut of some space)
  • + add constructor argument 'color', and 'range' to input custom ranged values
  • + add constructor argument 'color' and 'raw' to input unclamped, imaginary colors
  • + add argument 'raw' to method 'values' to return even out of gamut values
  • + add argument 'only' as alias of 'select' in method 'distance'
  • + added hash format for range definitions: {r => 100, g => 'normal', b => [-.5,.5]}
  • + added ouput format ARRAY (tuple) (output only)
  • + can insert ' ', '-', '_' and '.' into color space names
  • ? document the 'only' argument of 'invert'
  • & compact test suite with custom color tuple test function
  • ~ CIEXYZ converts now from and to linearRGB
  • ! HSB, HWB and NCol space got same constraints as HSV

Modules

calculate color (sets), IO many spaces and formats
translate color names to values and vice versa
store of color constants
a name space for color names
base class of all color spaces
(de-)convert and deformat color value tuples

Provides

in lib/Graphics/Toolkit/Color/Calculator.pm
in lib/Graphics/Toolkit/Color/SetCalculator.pm
in lib/Graphics/Toolkit/Color/Space/Basis.pm
in lib/Graphics/Toolkit/Color/Space/Format.pm
in lib/Graphics/Toolkit/Color/Space/Instance/AdobeRGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/AppleRGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIELAB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIELCHab.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIELCHuv.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIELUV.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIERGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CIEXYZ.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CMY.pm
in lib/Graphics/Toolkit/Color/Space/Instance/CMYK.pm
in lib/Graphics/Toolkit/Color/Space/Instance/DCIP3.pm
in lib/Graphics/Toolkit/Color/Space/Instance/DCIP3Linear.pm
in lib/Graphics/Toolkit/Color/Space/Instance/DisplayP3.pm
in lib/Graphics/Toolkit/Color/Space/Instance/DisplayP3Linear.pm
in lib/Graphics/Toolkit/Color/Space/Instance/HSB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/HSL.pm
in lib/Graphics/Toolkit/Color/Space/Instance/HSV.pm
in lib/Graphics/Toolkit/Color/Space/Instance/HWB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/HunterLAB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/NCol.pm
in lib/Graphics/Toolkit/Color/Space/Instance/OKLAB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/OKLCH.pm
in lib/Graphics/Toolkit/Color/Space/Instance/ProPhotoRGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/RGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/RGBLinear.pm
in lib/Graphics/Toolkit/Color/Space/Instance/Rec2020.pm
in lib/Graphics/Toolkit/Color/Space/Instance/Rec709.pm
in lib/Graphics/Toolkit/Color/Space/Instance/WideGamutRGB.pm
in lib/Graphics/Toolkit/Color/Space/Instance/YIQ.pm
in lib/Graphics/Toolkit/Color/Space/Instance/YUV.pm
in lib/Graphics/Toolkit/Color/Space/Shape.pm
in lib/Graphics/Toolkit/Color/Space/Util.pm
in lib/Graphics/Toolkit/Color/Values.pm