@lakuna/color 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/{utility → convert}/adobeToXyz.d.ts +1 -1
- package/dist/convert/adobeToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/adobeToXyz.js +5 -3
- package/dist/convert/adobeToXyz.js.map +1 -0
- package/dist/{utility → convert}/cmyToCmyk.d.ts +1 -1
- package/dist/convert/cmyToCmyk.d.ts.map +1 -0
- package/dist/{utility → convert}/cmyToCmyk.js +0 -3
- package/dist/convert/cmyToCmyk.js.map +1 -0
- package/dist/{utility → convert}/cmyToRgb.d.ts +1 -1
- package/dist/{utility → convert}/cmyToRgb.d.ts.map +1 -1
- package/dist/{utility → convert}/cmyToRgb.js.map +1 -1
- package/dist/{utility → convert}/cmykToCmy.d.ts +1 -1
- package/dist/{utility → convert}/cmykToCmy.d.ts.map +1 -1
- package/dist/{utility → convert}/cmykToCmy.js +0 -1
- package/dist/convert/cmykToCmy.js.map +1 -0
- package/dist/{utility → convert}/hexToRgb.d.ts +1 -1
- package/dist/convert/hexToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/hexToRgb.js.map +1 -1
- package/dist/{utility → convert}/hslToRgb.d.ts +1 -1
- package/dist/convert/hslToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/hslToRgb.js +5 -6
- package/dist/convert/hslToRgb.js.map +1 -0
- package/dist/{utility → convert}/hsvToRgb.d.ts +1 -1
- package/dist/{utility → convert}/hsvToRgb.d.ts.map +1 -1
- package/dist/{utility → convert}/hsvToRgb.js +0 -2
- package/dist/convert/hsvToRgb.js.map +1 -0
- package/dist/{utility → convert}/hunterToXyz.d.ts +1 -1
- package/dist/convert/hunterToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/hunterToXyz.js +6 -7
- package/dist/convert/hunterToXyz.js.map +1 -0
- package/dist/convert/labToLch.d.ts +19 -0
- package/dist/convert/labToLch.d.ts.map +1 -0
- package/dist/convert/labToLch.js +12 -0
- package/dist/convert/labToLch.js.map +1 -0
- package/dist/{utility → convert}/labToXyz.d.ts +1 -1
- package/dist/convert/labToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/labToXyz.js +8 -5
- package/dist/convert/labToXyz.js.map +1 -0
- package/dist/convert/lchToLab.d.ts +19 -0
- package/dist/convert/lchToLab.d.ts.map +1 -0
- package/dist/convert/lchToLab.js +7 -0
- package/dist/convert/lchToLab.js.map +1 -0
- package/dist/{utility → convert}/luvToXyz.d.ts +1 -1
- package/dist/convert/luvToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/luvToXyz.js +4 -6
- package/dist/convert/luvToXyz.js.map +1 -0
- package/dist/{utility → convert}/rgbToCmy.d.ts +1 -1
- package/dist/{utility → convert}/rgbToCmy.d.ts.map +1 -1
- package/dist/{utility → convert}/rgbToCmy.js.map +1 -1
- package/dist/{utility → convert}/rgbToHex.d.ts.map +1 -1
- package/dist/{utility → convert}/rgbToHex.js +3 -1
- package/dist/convert/rgbToHex.js.map +1 -0
- package/dist/convert/rgbToHsi.d.ts +10 -0
- package/dist/convert/rgbToHsi.d.ts.map +1 -0
- package/dist/convert/rgbToHsi.js +36 -0
- package/dist/convert/rgbToHsi.js.map +1 -0
- package/dist/{utility → convert}/rgbToHsl.d.ts +1 -1
- package/dist/convert/rgbToHsl.d.ts.map +1 -0
- package/dist/convert/rgbToHsl.js +37 -0
- package/dist/convert/rgbToHsl.js.map +1 -0
- package/dist/{utility → convert}/rgbToHsv.d.ts +1 -1
- package/dist/convert/rgbToHsv.d.ts.map +1 -0
- package/dist/{utility → convert}/rgbToHsv.js +11 -11
- package/dist/convert/rgbToHsv.js.map +1 -0
- package/dist/{utility → convert}/rgbToXyz.d.ts +1 -1
- package/dist/convert/rgbToXyz.d.ts.map +1 -0
- package/dist/{utility → convert}/rgbToXyz.js +9 -3
- package/dist/convert/rgbToXyz.js.map +1 -0
- package/dist/{utility → convert}/xyzToAdobe.d.ts +1 -1
- package/dist/convert/xyzToAdobe.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToAdobe.js +5 -3
- package/dist/convert/xyzToAdobe.js.map +1 -0
- package/dist/{utility → convert}/xyzToHunter.d.ts +2 -2
- package/dist/convert/xyzToHunter.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToHunter.js +7 -8
- package/dist/convert/xyzToHunter.js.map +1 -0
- package/dist/{utility → convert}/xyzToLab.d.ts +1 -1
- package/dist/convert/xyzToLab.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToLab.js +9 -5
- package/dist/convert/xyzToLab.js.map +1 -0
- package/dist/{utility → convert}/xyzToLuv.d.ts +1 -1
- package/dist/convert/xyzToLuv.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToLuv.js +5 -7
- package/dist/convert/xyzToLuv.js.map +1 -0
- package/dist/{utility → convert}/xyzToRgb.d.ts +1 -1
- package/dist/convert/xyzToRgb.d.ts.map +1 -0
- package/dist/{utility → convert}/xyzToRgb.js +8 -3
- package/dist/convert/xyzToRgb.js.map +1 -0
- package/dist/{utility → convert}/xyzToYxy.d.ts +1 -1
- package/dist/{utility → convert}/xyzToYxy.d.ts.map +1 -1
- package/dist/{utility → convert}/xyzToYxy.js +0 -3
- package/dist/convert/xyzToYxy.js.map +1 -0
- package/dist/{utility → convert}/yxyToXyz.d.ts +1 -1
- package/dist/{utility → convert}/yxyToXyz.d.ts.map +1 -1
- package/dist/{utility → convert}/yxyToXyz.js +0 -3
- package/dist/convert/yxyToXyz.js.map +1 -0
- package/dist/delta/deltaC.d.ts.map +1 -0
- package/dist/delta/deltaC.js.map +1 -0
- package/dist/{utility → delta}/deltaCmc.d.ts +2 -2
- package/dist/delta/deltaCmc.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaCmc.js +5 -8
- package/dist/delta/deltaCmc.js.map +1 -0
- package/dist/{utility → delta}/deltaE00.d.ts +2 -2
- package/dist/delta/deltaE00.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaE00.js +13 -17
- package/dist/delta/deltaE00.js.map +1 -0
- package/dist/delta/deltaE76.d.ts.map +1 -0
- package/dist/delta/deltaE76.js.map +1 -0
- package/dist/{utility → delta}/deltaE94.d.ts +2 -2
- package/dist/delta/deltaE94.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaE94.js +0 -6
- package/dist/delta/deltaE94.js.map +1 -0
- package/dist/delta/deltaH.d.ts.map +1 -0
- package/dist/{utility → delta}/deltaH.js +0 -4
- package/dist/delta/deltaH.js.map +1 -0
- package/dist/index.d.ts +41 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -30
- package/dist/index.js.map +1 -1
- package/dist/names/bang.d.ts +2 -2
- package/dist/names/bang.d.ts.map +1 -1
- package/dist/names/bang.js +471 -471
- package/dist/names/bang.js.map +1 -1
- package/dist/names/cne.d.ts +1 -1
- package/dist/names/cne.d.ts.map +1 -1
- package/dist/names/cne.js +843 -843
- package/dist/names/cne.js.map +1 -1
- package/dist/names/crayola.d.ts +1 -1
- package/dist/names/crayola.d.ts.map +1 -1
- package/dist/names/crayola.js +110 -110
- package/dist/names/crayola.js.map +1 -1
- package/dist/names/getName.d.ts.map +1 -1
- package/dist/names/getName.js +3 -3
- package/dist/names/getName.js.map +1 -1
- package/dist/names/hollasch.d.ts +1 -1
- package/dist/names/hollasch.d.ts.map +1 -1
- package/dist/names/hollasch.js +179 -179
- package/dist/names/hollasch.js.map +1 -1
- package/dist/names/nbs.d.ts +1 -1
- package/dist/names/nbs.d.ts.map +1 -1
- package/dist/names/nbs.js +266 -266
- package/dist/names/nbs.js.map +1 -1
- package/dist/names/ntc.d.ts +1 -1
- package/dist/names/ntc.d.ts.map +1 -1
- package/dist/names/ntc.js +1519 -1519
- package/dist/names/ntc.js.map +1 -1
- package/dist/names/resene.d.ts +1 -1
- package/dist/names/resene.d.ts.map +1 -1
- package/dist/names/resene.js +1331 -1331
- package/dist/names/resene.js.map +1 -1
- package/dist/names/tcapi.d.ts +1 -1
- package/dist/names/tcapi.d.ts.map +1 -1
- package/dist/names/tcapi.js +1840 -1840
- package/dist/names/tcapi.js.map +1 -1
- package/dist/names/x11.d.ts +1 -1
- package/dist/names/x11.d.ts.map +1 -1
- package/dist/names/x11.js +445 -445
- package/dist/names/x11.js.map +1 -1
- package/dist/names/xkcd.d.ts +1 -1
- package/dist/names/xkcd.d.ts.map +1 -1
- package/dist/names/xkcd.js +897 -897
- package/dist/names/xkcd.js.map +1 -1
- package/dist/palette/analogous.d.ts +28 -0
- package/dist/palette/analogous.d.ts.map +1 -0
- package/dist/palette/analogous.js +15 -0
- package/dist/palette/analogous.js.map +1 -0
- package/dist/palette/analogousLch.d.ts +19 -0
- package/dist/palette/analogousLch.d.ts.map +1 -0
- package/dist/palette/analogousLch.js +15 -0
- package/dist/palette/analogousLch.js.map +1 -0
- package/dist/palette/complement.d.ts +28 -0
- package/dist/palette/complement.d.ts.map +1 -0
- package/dist/palette/complement.js +15 -0
- package/dist/palette/complement.js.map +1 -0
- package/dist/palette/complementLch.d.ts +19 -0
- package/dist/palette/complementLch.d.ts.map +1 -0
- package/dist/palette/complementLch.js +15 -0
- package/dist/palette/complementLch.js.map +1 -0
- package/dist/palette/splitComplement.d.ts +28 -0
- package/dist/palette/splitComplement.d.ts.map +1 -0
- package/dist/palette/splitComplement.js +15 -0
- package/dist/palette/splitComplement.js.map +1 -0
- package/dist/palette/splitComplementLch.d.ts +19 -0
- package/dist/palette/splitComplementLch.d.ts.map +1 -0
- package/dist/palette/splitComplementLch.js +15 -0
- package/dist/palette/splitComplementLch.js.map +1 -0
- package/dist/types/Adobe.d.ts.map +1 -1
- package/dist/types/Cmy.d.ts.map +1 -1
- package/dist/types/Cmyk.d.ts.map +1 -1
- package/dist/types/Hsi.d.ts +15 -0
- package/dist/types/Hsi.d.ts.map +1 -0
- package/dist/types/Hsi.js +2 -0
- package/dist/types/Hsi.js.map +1 -0
- package/dist/types/Hsl.d.ts +1 -1
- package/dist/types/Hsl.d.ts.map +1 -1
- package/dist/types/Hsv.d.ts +1 -1
- package/dist/types/Hsv.d.ts.map +1 -1
- package/dist/types/Hunter.d.ts.map +1 -1
- package/dist/types/Lab.d.ts +2 -2
- package/dist/types/Lab.d.ts.map +1 -1
- package/dist/types/Lchab.d.ts +15 -0
- package/dist/types/Lchab.d.ts.map +1 -0
- package/dist/types/Lchab.js +2 -0
- package/dist/types/Lchab.js.map +1 -0
- package/dist/types/Lchuv.d.ts +15 -0
- package/dist/types/Lchuv.d.ts.map +1 -0
- package/dist/types/Lchuv.js +2 -0
- package/dist/types/Lchuv.js.map +1 -0
- package/dist/types/Luv.d.ts +1 -1
- package/dist/types/Luv.d.ts.map +1 -1
- package/dist/types/Rgb.d.ts.map +1 -1
- package/dist/types/Xyz.d.ts.map +1 -1
- package/dist/types/Yxy.d.ts.map +1 -1
- package/dist/utility/StandardIlluminant.d.ts.map +1 -1
- package/dist/utility/StandardIlluminant.js.map +1 -1
- package/dist/utility/contrast.d.ts.map +1 -1
- package/dist/utility/contrast.js.map +1 -1
- package/dist/utility/getReference.d.ts +2 -2
- package/dist/utility/getReference.d.ts.map +1 -1
- package/dist/utility/getReference.js +39 -39
- package/dist/utility/getReference.js.map +1 -1
- package/dist/utility/isWebSafe.d.ts +10 -0
- package/dist/utility/isWebSafe.d.ts.map +1 -0
- package/dist/utility/isWebSafe.js +11 -0
- package/dist/utility/isWebSafe.js.map +1 -0
- package/dist/utility/relativeLuminance.js.map +1 -1
- package/package.json +15 -15
- package/src/{utility → convert}/adobeToXyz.ts +10 -4
- package/src/{utility → convert}/cmyToCmyk.ts +5 -4
- package/src/{utility → convert}/cmyToRgb.ts +1 -1
- package/src/{utility → convert}/cmykToCmy.ts +1 -2
- package/src/{utility → convert}/hexToRgb.ts +1 -1
- package/src/{utility → convert}/hslToRgb.ts +9 -7
- package/src/{utility → convert}/hsvToRgb.ts +2 -3
- package/src/{utility → convert}/hunterToXyz.ts +11 -8
- package/src/convert/labToLch.ts +36 -0
- package/src/{utility → convert}/labToXyz.ts +11 -6
- package/src/convert/lchToLab.ts +30 -0
- package/src/{utility → convert}/luvToXyz.ts +9 -7
- package/src/{utility → convert}/rgbToCmy.ts +1 -1
- package/src/{utility → convert}/rgbToHex.ts +5 -1
- package/src/convert/rgbToHsi.ts +43 -0
- package/src/convert/rgbToHsl.ts +44 -0
- package/src/{utility → convert}/rgbToHsv.ts +14 -13
- package/src/{utility → convert}/rgbToXyz.ts +11 -4
- package/src/{utility → convert}/xyzToAdobe.ts +9 -4
- package/src/{utility → convert}/xyzToHunter.ts +12 -9
- package/src/{utility → convert}/xyzToLab.ts +12 -6
- package/src/{utility → convert}/xyzToLuv.ts +11 -9
- package/src/{utility → convert}/xyzToRgb.ts +10 -4
- package/src/{utility → convert}/xyzToYxy.ts +3 -4
- package/src/{utility → convert}/yxyToXyz.ts +3 -4
- package/src/{utility → delta}/deltaC.ts +0 -2
- package/src/{utility → delta}/deltaCmc.ts +12 -10
- package/src/{utility → delta}/deltaE00.ts +21 -18
- package/src/{utility → delta}/deltaE76.ts +0 -2
- package/src/{utility → delta}/deltaE94.ts +7 -8
- package/src/{utility → delta}/deltaH.ts +3 -6
- package/src/index.ts +47 -31
- package/src/names/bang.ts +476 -472
- package/src/names/cne.ts +848 -844
- package/src/names/crayola.ts +115 -111
- package/src/names/getName.ts +4 -3
- package/src/names/hollasch.ts +184 -180
- package/src/names/nbs.ts +271 -267
- package/src/names/ntc.ts +1524 -1520
- package/src/names/resene.ts +1336 -1332
- package/src/names/tcapi.ts +1845 -1841
- package/src/names/x11.ts +450 -446
- package/src/names/xkcd.ts +902 -898
- package/src/palette/analogous.ts +61 -0
- package/src/palette/analogousLch.ts +49 -0
- package/src/palette/complement.ts +65 -0
- package/src/palette/complementLch.ts +50 -0
- package/src/palette/splitComplement.ts +61 -0
- package/src/palette/splitComplementLch.ts +48 -0
- package/src/types/Adobe.ts +3 -0
- package/src/types/Cmy.ts +3 -0
- package/src/types/Cmyk.ts +4 -0
- package/src/types/Hsi.ts +20 -0
- package/src/types/Hsl.ts +4 -1
- package/src/types/Hsv.ts +4 -1
- package/src/types/Hunter.ts +3 -0
- package/src/types/Lab.ts +5 -2
- package/src/types/Lchab.ts +20 -0
- package/src/types/Lchuv.ts +20 -0
- package/src/types/Luv.ts +4 -1
- package/src/types/Rgb.ts +3 -0
- package/src/types/Xyz.ts +3 -0
- package/src/types/Yxy.ts +3 -0
- package/src/utility/StandardIlluminant.ts +40 -40
- package/src/utility/contrast.ts +1 -0
- package/src/utility/getReference.ts +42 -41
- package/src/utility/isWebSafe.ts +14 -0
- package/src/utility/relativeLuminance.ts +1 -1
- package/dist/types/Lch.d.ts +0 -16
- package/dist/types/Lch.d.ts.map +0 -1
- package/dist/types/Lch.js +0 -2
- package/dist/types/Lch.js.map +0 -1
- package/dist/utility/adobeToXyz.d.ts.map +0 -1
- package/dist/utility/adobeToXyz.js.map +0 -1
- package/dist/utility/cmyToCmyk.d.ts.map +0 -1
- package/dist/utility/cmyToCmyk.js.map +0 -1
- package/dist/utility/cmykToCmy.js.map +0 -1
- package/dist/utility/deltaC.d.ts.map +0 -1
- package/dist/utility/deltaC.js.map +0 -1
- package/dist/utility/deltaCmc.d.ts.map +0 -1
- package/dist/utility/deltaCmc.js.map +0 -1
- package/dist/utility/deltaE00.d.ts.map +0 -1
- package/dist/utility/deltaE00.js.map +0 -1
- package/dist/utility/deltaE76.d.ts.map +0 -1
- package/dist/utility/deltaE76.js.map +0 -1
- package/dist/utility/deltaE94.d.ts.map +0 -1
- package/dist/utility/deltaE94.js.map +0 -1
- package/dist/utility/deltaH.d.ts.map +0 -1
- package/dist/utility/deltaH.js.map +0 -1
- package/dist/utility/hexToRgb.d.ts.map +0 -1
- package/dist/utility/hslToRgb.d.ts.map +0 -1
- package/dist/utility/hslToRgb.js.map +0 -1
- package/dist/utility/hsvToRgb.js.map +0 -1
- package/dist/utility/hunterToXyz.d.ts.map +0 -1
- package/dist/utility/hunterToXyz.js.map +0 -1
- package/dist/utility/labToLch.d.ts +0 -11
- package/dist/utility/labToLch.d.ts.map +0 -1
- package/dist/utility/labToLch.js +0 -19
- package/dist/utility/labToLch.js.map +0 -1
- package/dist/utility/labToXyz.d.ts.map +0 -1
- package/dist/utility/labToXyz.js.map +0 -1
- package/dist/utility/lchToLab.d.ts +0 -11
- package/dist/utility/lchToLab.d.ts.map +0 -1
- package/dist/utility/lchToLab.js +0 -14
- package/dist/utility/lchToLab.js.map +0 -1
- package/dist/utility/luvToXyz.d.ts.map +0 -1
- package/dist/utility/luvToXyz.js.map +0 -1
- package/dist/utility/rgbToHex.js.map +0 -1
- package/dist/utility/rgbToHsl.d.ts.map +0 -1
- package/dist/utility/rgbToHsl.js +0 -31
- package/dist/utility/rgbToHsl.js.map +0 -1
- package/dist/utility/rgbToHsv.d.ts.map +0 -1
- package/dist/utility/rgbToHsv.js.map +0 -1
- package/dist/utility/rgbToXyz.d.ts.map +0 -1
- package/dist/utility/rgbToXyz.js.map +0 -1
- package/dist/utility/xyzToAdobe.d.ts.map +0 -1
- package/dist/utility/xyzToAdobe.js.map +0 -1
- package/dist/utility/xyzToHunter.d.ts.map +0 -1
- package/dist/utility/xyzToHunter.js.map +0 -1
- package/dist/utility/xyzToLab.d.ts.map +0 -1
- package/dist/utility/xyzToLab.js.map +0 -1
- package/dist/utility/xyzToLuv.d.ts.map +0 -1
- package/dist/utility/xyzToLuv.js.map +0 -1
- package/dist/utility/xyzToRgb.d.ts.map +0 -1
- package/dist/utility/xyzToRgb.js.map +0 -1
- package/dist/utility/xyzToYxy.js.map +0 -1
- package/dist/utility/yxyToXyz.js.map +0 -1
- package/src/types/Lch.ts +0 -18
- package/src/utility/labToLch.ts +0 -24
- package/src/utility/lchToLab.ts +0 -18
- package/src/utility/rgbToHsl.ts +0 -38
- /package/dist/{utility → convert}/cmyToRgb.js +0 -0
- /package/dist/{utility → convert}/hexToRgb.js +0 -0
- /package/dist/{utility → convert}/rgbToCmy.js +0 -0
- /package/dist/{utility → convert}/rgbToHex.d.ts +0 -0
- /package/dist/{utility → delta}/deltaC.d.ts +0 -0
- /package/dist/{utility → delta}/deltaC.js +0 -0
- /package/dist/{utility → delta}/deltaE76.d.ts +0 -0
- /package/dist/{utility → delta}/deltaE76.js +0 -0
- /package/dist/{utility → delta}/deltaH.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbToHsv.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToHsv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAKvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CA4B3E"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const c0 = 1 / 3;
|
|
2
|
+
const c1 = 2 / 3;
|
|
1
3
|
/**
|
|
2
4
|
* Convert the given sRGB color to an HSV color. Based on the EasyRGB pseudo-code.
|
|
3
5
|
* @param color - The sRGB color.
|
|
@@ -9,25 +11,23 @@ export default function rgbToHsv(color) {
|
|
|
9
11
|
const i1 = color[1] / 0xff;
|
|
10
12
|
const i2 = color[2] / 0xff;
|
|
11
13
|
const v = Math.max(i0, i1, i2);
|
|
12
|
-
const
|
|
13
|
-
if (
|
|
14
|
+
const c = v - Math.min(i0, i1, i2);
|
|
15
|
+
if (c === 0) {
|
|
14
16
|
return [0, 0, v];
|
|
15
17
|
}
|
|
16
|
-
const i4 =
|
|
17
|
-
const i5 = ((v - i0) / 6 + i4) /
|
|
18
|
-
const i6 = ((v - i1) / 6 + i4) /
|
|
19
|
-
const i7 = ((v - i2) / 6 + i4) /
|
|
18
|
+
const i4 = c / 2;
|
|
19
|
+
const i5 = ((v - i0) / 6 + i4) / c;
|
|
20
|
+
const i6 = ((v - i1) / 6 + i4) / c;
|
|
21
|
+
const i7 = ((v - i2) / 6 + i4) / c;
|
|
20
22
|
const i8 = i0 === v ? i7 - i6
|
|
21
|
-
: i1 === v ?
|
|
22
|
-
|
|
23
|
-
: i2 === v ?
|
|
24
|
-
0.66666666 + i6 - i5 // `2 / 3`
|
|
23
|
+
: i1 === v ? c0 + i5 - i7
|
|
24
|
+
: i2 === v ? c1 + i6 - i5
|
|
25
25
|
: 0;
|
|
26
26
|
return [
|
|
27
27
|
i8 < 0 ? i8 + 1
|
|
28
28
|
: i8 > 1 ? i8 - 1
|
|
29
29
|
: i8,
|
|
30
|
-
|
|
30
|
+
v === 0 ? 0 : c / v,
|
|
31
31
|
v
|
|
32
32
|
];
|
|
33
33
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbToHsv.js","sourceRoot":"","sources":["../../src/convert/rgbToHsv.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,EAAE,GACP,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;QAClB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;YACzB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;gBACzB,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACN,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YACf,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;gBACjB,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnB,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/rgbToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AASvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAa3E"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
const c0 = 0.04045;
|
|
2
|
+
const c1 = 0.055;
|
|
3
|
+
const c2 = 1.055;
|
|
4
|
+
const c3 = 2.4;
|
|
5
|
+
const c4 = 12.92;
|
|
6
|
+
const c5 = 100;
|
|
1
7
|
/**
|
|
2
8
|
* Convert the given sRGB color to a CIEXYZ color. Based on the EasyRGB pseudo-code.
|
|
3
9
|
* @param color - The sRGB color.
|
|
@@ -8,9 +14,9 @@ export default function rgbToXyz(color) {
|
|
|
8
14
|
const i0 = color[0] / 0xff;
|
|
9
15
|
const i1 = color[1] / 0xff;
|
|
10
16
|
const i2 = color[2] / 0xff;
|
|
11
|
-
const i3 = (i0 >
|
|
12
|
-
const i4 = (i1 >
|
|
13
|
-
const i5 = (i2 >
|
|
17
|
+
const i3 = (i0 > c0 ? ((i0 + c1) / c2) ** c3 : i0 / c4) * c5;
|
|
18
|
+
const i4 = (i1 > c0 ? ((i1 + c1) / c2) ** c3 : i1 / c4) * c5;
|
|
19
|
+
const i5 = (i2 > c0 ? ((i2 + c1) / c2) ** c3 : i2 / c4) * c5;
|
|
14
20
|
return [
|
|
15
21
|
i3 * 0.4124 + i4 * 0.3576 + i5 * 0.1805,
|
|
16
22
|
i3 * 0.2126 + i4 * 0.7152 + i5 * 0.0722,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbToXyz.js","sourceRoot":"","sources":["../../src/convert/rgbToXyz.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,OAAO,CAAC;AACnB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,GAAG,CAAC;AAEf;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAE7D,OAAO;QACN,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;QACvC,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;QACvC,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM;KACvC,CAAC;AACH,CAAC"}
|
|
@@ -6,5 +6,5 @@ import type Xyz from "../types/Xyz.js";
|
|
|
6
6
|
* @returns An Adobe RGB color.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export default function xyzToAdobe(color: Xyz): Adobe;
|
|
9
|
+
export default function xyzToAdobe(color: Xyz): [number, number, number] & Adobe;
|
|
10
10
|
//# sourceMappingURL=xyzToAdobe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToAdobe.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToAdobe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAKvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAK,EAAE,GAAG,GACR,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAUlC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const gamma = 0x233 / 0x100; // https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
|
|
2
|
+
const c0 = 1 / gamma;
|
|
1
3
|
/**
|
|
2
4
|
* Convert the given CIEXYZ D65/2° standard illuminant color to an Adobe RGB color. Based on the EasyRGB pseudo-code.
|
|
3
5
|
* @param color - The CIEXYZ color.
|
|
@@ -9,9 +11,9 @@ export default function xyzToAdobe(color) {
|
|
|
9
11
|
const i1 = color[1] / 100;
|
|
10
12
|
const i2 = color[2] / 100;
|
|
11
13
|
return [
|
|
12
|
-
(i0 * 2.04137 + i1 * -0.56495 + i2 * -0.34469) **
|
|
13
|
-
(i0 * -0.96927 + i1 * 1.87601 + i2 * 0.04156) **
|
|
14
|
-
(i0 * 0.01345 + i1 * -0.11839 + i2 * 1.01541) **
|
|
14
|
+
(i0 * 2.04137 + i1 * -0.56495 + i2 * -0.34469) ** c0 * 0xff,
|
|
15
|
+
(i0 * -0.96927 + i1 * 1.87601 + i2 * 0.04156) ** c0 * 0xff,
|
|
16
|
+
(i0 * 0.01345 + i1 * -0.11839 + i2 * 1.01541) ** c0 * 0xff
|
|
15
17
|
];
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=xyzToAdobe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToAdobe.js","sourceRoot":"","sources":["../../src/convert/xyzToAdobe.ts"],"names":[],"mappings":"AAGA,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,0DAA0D;AACvF,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAErB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CACjC,KAAU;IAEV,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE1B,OAAO;QACN,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QAC3D,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QAC1D,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;KAC1D,CAAC;AACH,CAAC"}
|
|
@@ -3,9 +3,9 @@ import type Xyz from "../types/Xyz.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Convert the given CIEXYZ color to a Hunter Lab color. Based on the EasyRGB pseudo-code.
|
|
5
5
|
* @param color - The CIEXYZ color.
|
|
6
|
-
* @param ref - A standard illuminant that represents the white point.
|
|
6
|
+
* @param ref - A standard illuminant that represents the white point. This color space was originally used with standard illuminant C.
|
|
7
7
|
* @returns A Hunter Lab color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function xyzToHunter(color: Xyz, ref?: Xyz): Hunter;
|
|
10
|
+
export default function xyzToHunter(color: Xyz, ref?: Xyz): [number, number, number] & Hunter;
|
|
11
11
|
//# sourceMappingURL=xyzToHunter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToHunter.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToHunter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAClC,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAenC"}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import getReference from "../utility/getReference.js";
|
|
2
|
+
import StandardIlluminant from "../utility/StandardIlluminant.js";
|
|
3
|
+
const c0 = 175 / 198.04;
|
|
4
|
+
const c1 = 70 / 218.11;
|
|
3
5
|
/**
|
|
4
6
|
* Convert the given CIEXYZ color to a Hunter Lab color. Based on the EasyRGB pseudo-code.
|
|
5
7
|
* @param color - The CIEXYZ color.
|
|
6
|
-
* @param ref - A standard illuminant that represents the white point.
|
|
8
|
+
* @param ref - A standard illuminant that represents the white point. This color space was originally used with standard illuminant C.
|
|
7
9
|
* @returns A Hunter Lab color.
|
|
8
10
|
* @public
|
|
9
11
|
*/
|
|
10
12
|
export default function xyzToHunter(color, ref = getReference(StandardIlluminant.D65_2)) {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
12
13
|
const rx = ref[0];
|
|
13
|
-
// eslint-disable-next-line prefer-destructuring
|
|
14
14
|
const ry = ref[1];
|
|
15
|
-
// eslint-disable-next-line prefer-destructuring
|
|
16
15
|
const rz = ref[2];
|
|
17
16
|
const i2 = color[1] / ry;
|
|
18
17
|
const i3 = Math.sqrt(i2);
|
|
19
18
|
return [
|
|
20
19
|
100 * i3,
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
c0 * (ry + rx) * ((color[0] / rx - i2) / i3),
|
|
21
|
+
c1 * (ry + rz) * ((i2 - color[2] / rz) / i3)
|
|
23
22
|
];
|
|
24
23
|
}
|
|
25
24
|
//# sourceMappingURL=xyzToHunter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToHunter.js","sourceRoot":"","sources":["../../src/convert/xyzToHunter.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;AACxB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAClC,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzB,OAAO;QACN,GAAG,GAAG,EAAE;QACR,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC5C,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KAC5C,CAAC;AACH,CAAC"}
|
|
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
|
|
|
7
7
|
* @returns A CIELAB color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function xyzToLab(color: Xyz, ref?: Xyz): Lab;
|
|
10
|
+
export default function xyzToLab(color: Xyz, ref?: Xyz): [number, number, number] & Lab;
|
|
11
11
|
//# sourceMappingURL=xyzToLab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToLab.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToLab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAUvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAWhC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import getReference from "../utility/getReference.js";
|
|
2
|
+
import StandardIlluminant from "../utility/StandardIlluminant.js";
|
|
3
|
+
const c0 = 1 / 3;
|
|
4
|
+
const c1 = 16 / 116;
|
|
5
|
+
const c2 = 0.008856;
|
|
6
|
+
const c3 = 7.787;
|
|
3
7
|
/**
|
|
4
8
|
* Convert the given CIEXYZ color to a CIELAB color. Based on the EasyRGB pseudo-code.
|
|
5
9
|
* @param color - The CIEXYZ color.
|
|
@@ -11,11 +15,11 @@ export default function xyzToLab(color, ref = getReference(StandardIlluminant.D6
|
|
|
11
15
|
const i0 = color[0] / ref[0];
|
|
12
16
|
const i1 = color[1] / ref[1];
|
|
13
17
|
const i2 = color[2] / ref[2];
|
|
14
|
-
const i3 = i1 >
|
|
18
|
+
const i3 = i1 > c2 ? i1 ** c0 : c3 * i1 + c1;
|
|
15
19
|
return [
|
|
16
20
|
116 * i3 - 16,
|
|
17
|
-
500 * ((i0 >
|
|
18
|
-
200 * (i3 - (i2 >
|
|
21
|
+
500 * ((i0 > c2 ? i0 ** c0 : c3 * i0 + c1) - i3),
|
|
22
|
+
200 * (i3 - (i2 > c2 ? i2 ** c0 : c3 * i2 + c1))
|
|
19
23
|
];
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=xyzToLab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToLab.js","sourceRoot":"","sources":["../../src/convert/xyzToLab.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AACpB,MAAM,EAAE,GAAG,QAAQ,CAAC;AACpB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAE7C,OAAO;QACN,GAAG,GAAG,EAAE,GAAG,EAAE;QACb,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAChD,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KAChD,CAAC;AACH,CAAC"}
|
|
@@ -7,5 +7,5 @@ import type Xyz from "../types/Xyz.js";
|
|
|
7
7
|
* @returns A CIELUV color.
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
export default function xyzToLuv(color: Xyz, ref?: Xyz): Luv;
|
|
10
|
+
export default function xyzToLuv(color: Xyz, ref?: Xyz): [number, number, number] & Luv;
|
|
11
11
|
//# sourceMappingURL=xyzToLuv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToLuv.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToLuv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAK,EAAE,GAAG,EACV,GAAG,GAAE,GAA4C,GAC/C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAoBhC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import getReference from "../utility/getReference.js";
|
|
2
|
+
import StandardIlluminant from "../utility/StandardIlluminant.js";
|
|
3
|
+
const c0 = 1 / 3;
|
|
4
|
+
const c1 = 16 / 116;
|
|
3
5
|
/**
|
|
4
6
|
* Convert the given CIEXYZ color to a CIELUV color. Based on the EasyRGB pseudo-code.
|
|
5
7
|
* @param color - The CIEXYZ color.
|
|
@@ -8,18 +10,14 @@ import getReference from "./getReference.js";
|
|
|
8
10
|
* @public
|
|
9
11
|
*/
|
|
10
12
|
export default function xyzToLuv(color, ref = getReference(StandardIlluminant.D65_2)) {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
12
13
|
const x = color[0];
|
|
13
|
-
// eslint-disable-next-line prefer-destructuring
|
|
14
14
|
const y = color[1];
|
|
15
|
-
// eslint-disable-next-line prefer-destructuring
|
|
16
15
|
const rx = ref[0];
|
|
17
|
-
// eslint-disable-next-line prefer-destructuring
|
|
18
16
|
const ry = ref[1];
|
|
19
17
|
const i0 = x + 15 * y + 3 * color[2];
|
|
20
18
|
const i1 = rx + 15 * ry + 3 * ref[2];
|
|
21
19
|
const i2 = y / 100;
|
|
22
|
-
const l = 116 * (i2 > 0.008856 ? i2 **
|
|
20
|
+
const l = 116 * (i2 > 0.008856 ? i2 ** c0 : 7.787 * i2 + c1) - 16;
|
|
23
21
|
const i3 = 13 * l;
|
|
24
22
|
return [
|
|
25
23
|
l,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToLuv.js","sourceRoot":"","sources":["../../src/convert/xyzToLuv.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,KAAU,EACV,MAAW,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAEjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAElB,OAAO;QACN,CAAC;QACD,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToRgb.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToRgb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAQvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAa3E"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
const c0 = 0.0031308;
|
|
2
|
+
const c1 = 1.055;
|
|
3
|
+
const c2 = 1 / 2.4;
|
|
4
|
+
const c3 = 0.055;
|
|
5
|
+
const c4 = 12.92;
|
|
1
6
|
/**
|
|
2
7
|
* Convert the given CIEXYZ D65/2° standard illuminant color to an sRGB color. Based on the EasyRGB pseudo-code.
|
|
3
8
|
* @param color - The CIEXYZ color.
|
|
@@ -12,9 +17,9 @@ export default function xyzToRgb(color) {
|
|
|
12
17
|
const i4 = i0 * -0.9689 + i1 * 1.8758 + i2 * 0.0415;
|
|
13
18
|
const i5 = i0 * 0.0557 + i1 * -0.204 + i2 * 1.057;
|
|
14
19
|
return [
|
|
15
|
-
(i3 >
|
|
16
|
-
(i4 >
|
|
17
|
-
(i5 >
|
|
20
|
+
(i3 > c0 ? c1 * i3 ** c2 - c3 : i3 * c4) * 0xff,
|
|
21
|
+
(i4 > c0 ? c1 * i4 ** c2 - c3 : i4 * c4) * 0xff,
|
|
22
|
+
(i5 > c0 ? c1 * i5 ** c2 - c3 : i5 * c4) * 0xff
|
|
18
23
|
];
|
|
19
24
|
}
|
|
20
25
|
//# sourceMappingURL=xyzToRgb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToRgb.js","sourceRoot":"","sources":["../../src/convert/xyzToRgb.ts"],"names":[],"mappings":"AAGA,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AACnB,MAAM,EAAE,GAAG,KAAK,CAAC;AACjB,MAAM,EAAE,GAAG,KAAK,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC;IAElD,OAAO;QACN,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;QAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;QAC/C,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;KAC/C,CAAC;AACH,CAAC"}
|
|
@@ -6,5 +6,5 @@ import type Yxy from "../types/Yxy.js";
|
|
|
6
6
|
* @returns The CIEXYZ color in yxy format.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export default function xyzToYxy(color: Xyz): Yxy;
|
|
9
|
+
export default function xyzToYxy(color: Xyz): [number, number, number] & Yxy;
|
|
10
10
|
//# sourceMappingURL=xyzToYxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xyzToYxy.d.ts","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"xyzToYxy.d.ts","sourceRoot":"","sources":["../../src/convert/xyzToYxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAQ3E"}
|
|
@@ -5,11 +5,8 @@
|
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
7
|
export default function xyzToYxy(color) {
|
|
8
|
-
// eslint-disable-next-line prefer-destructuring
|
|
9
8
|
const X = color[0];
|
|
10
|
-
// eslint-disable-next-line prefer-destructuring
|
|
11
9
|
const Y = color[1];
|
|
12
|
-
// eslint-disable-next-line prefer-destructuring
|
|
13
10
|
const Z = color[2];
|
|
14
11
|
return [Y, X / (X + Y + Z), Y / (X + Y + Z)];
|
|
15
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xyzToYxy.js","sourceRoot":"","sources":["../../src/convert/xyzToYxy.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yxyToXyz.d.ts","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"yxyToXyz.d.ts","sourceRoot":"","sources":["../../src/convert/yxyToXyz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAQ3E"}
|
|
@@ -5,11 +5,8 @@
|
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
7
|
export default function yxyToXyz(color) {
|
|
8
|
-
// eslint-disable-next-line prefer-destructuring
|
|
9
8
|
const Y = color[0];
|
|
10
|
-
// eslint-disable-next-line prefer-destructuring
|
|
11
9
|
const x = color[1];
|
|
12
|
-
// eslint-disable-next-line prefer-destructuring
|
|
13
10
|
const y = color[2];
|
|
14
11
|
return [x * (Y / y), Y, (1 - x - y) * (Y / y)];
|
|
15
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yxyToXyz.js","sourceRoot":"","sources":["../../src/convert/yxyToXyz.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAU;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaC.d.ts","sourceRoot":"","sources":["../../src/delta/deltaC.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;AACjE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaC.js","sourceRoot":"","sources":["../../src/delta/deltaC.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAiB,EAAE,MAAiB;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
3
|
/**
|
|
4
4
|
* Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
5
5
|
* @param color0 - The first color.
|
|
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
|
|
|
9
9
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export default function deltaCmc(color0: Lab, color1: Lab, weight?:
|
|
12
|
+
export default function deltaCmc(color0: Lab, color1: Lab, weight?: Lchab): number;
|
|
13
13
|
//# sourceMappingURL=deltaCmc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaCmc.d.ts","sourceRoot":"","sources":["../../src/delta/deltaCmc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAK3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CA6CR"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const c0 = 180 / Math.PI;
|
|
2
|
+
const c1 = Math.PI / 180;
|
|
1
3
|
/**
|
|
2
4
|
* Calculates the ΔCMC between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
3
5
|
* @param color0 - The first color.
|
|
@@ -8,15 +10,10 @@
|
|
|
8
10
|
* @public
|
|
9
11
|
*/
|
|
10
12
|
export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
12
13
|
const l0 = color0[0];
|
|
13
|
-
// eslint-disable-next-line prefer-destructuring
|
|
14
14
|
const a0 = color0[1];
|
|
15
|
-
// eslint-disable-next-line prefer-destructuring
|
|
16
15
|
const b0 = color0[2];
|
|
17
|
-
// eslint-disable-next-line prefer-destructuring
|
|
18
16
|
const a1 = color1[1];
|
|
19
|
-
// eslint-disable-next-line prefer-destructuring
|
|
20
17
|
const b1 = color1[2];
|
|
21
18
|
const i0 = Math.hypot(a0, b0);
|
|
22
19
|
const i1 = i0 ** 4;
|
|
@@ -29,7 +26,7 @@ export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
|
|
|
29
26
|
b0 < 0 ?
|
|
30
27
|
270
|
|
31
28
|
: 90
|
|
32
|
-
: Math.atan(b0 / a0) *
|
|
29
|
+
: Math.atan(b0 / a0) * c0 +
|
|
33
30
|
(a0 > 0 ?
|
|
34
31
|
b0 > 0 ?
|
|
35
32
|
0
|
|
@@ -41,8 +38,8 @@ export default function deltaCmc(color0, color1, weight = [1, 1, 1]) {
|
|
|
41
38
|
(weight[0] * (l0 < 16 ? 0.511 : (0.040975 * l0) / (1 + 0.01765 * l0))), i5 / (weight[1] * i4), Math.sqrt((a1 - a0) ** 2 + (b1 - b0) ** 2 - i5 ** 2) /
|
|
42
39
|
((i2 *
|
|
43
40
|
(i3 < 164 || i3 > 345 ?
|
|
44
|
-
0.36 + Math.abs(0.4 * Math.cos((35 + i3) *
|
|
45
|
-
: 0.56 + Math.abs(0.2 * Math.cos((168 + i3) *
|
|
41
|
+
0.36 + Math.abs(0.4 * Math.cos((35 + i3) * c1))
|
|
42
|
+
: 0.56 + Math.abs(0.2 * Math.cos((168 + i3) * c1))) +
|
|
46
43
|
1 -
|
|
47
44
|
i2) *
|
|
48
45
|
i4));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaCmc.js","sourceRoot":"","sources":["../../src/delta/deltaCmc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
3
|
/**
|
|
4
4
|
* Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
5
5
|
* @param color0 - The first color.
|
|
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
|
|
|
9
9
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export default function deltaE00(color0: Lab, color1: Lab, weight?:
|
|
12
|
+
export default function deltaE00(color0: Lab, color1: Lab, weight?: Lchab): number;
|
|
13
13
|
//# sourceMappingURL=deltaE00.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE00.d.ts","sourceRoot":"","sources":["../../src/delta/deltaE00.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AA6B3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CAiER"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
const c0 = 180 / Math.PI;
|
|
2
|
+
const c1 = 25 ** 7;
|
|
3
|
+
const c2 = Math.PI / 180;
|
|
1
4
|
/**
|
|
2
5
|
* Convert CIELAB data to hue data.
|
|
3
6
|
* @param a - An input CIELAB value.
|
|
@@ -13,12 +16,12 @@ const cieLabToHue = (a, b) => b === 0 ?
|
|
|
13
16
|
b < 0 ?
|
|
14
17
|
270
|
|
15
18
|
: 90
|
|
16
|
-
: Math.atan(b / a) *
|
|
19
|
+
: Math.atan(b / a) * c0 +
|
|
17
20
|
(a > 0 ?
|
|
18
21
|
b > 0 ?
|
|
19
22
|
0
|
|
20
23
|
: 360
|
|
21
|
-
: 180);
|
|
24
|
+
: 180);
|
|
22
25
|
/**
|
|
23
26
|
* Calculates the ΔE* 2000 (also called the CIEDE2000) between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
24
27
|
* @param color0 - The first color.
|
|
@@ -29,20 +32,14 @@ const cieLabToHue = (a, b) => b === 0 ?
|
|
|
29
32
|
* @public
|
|
30
33
|
*/
|
|
31
34
|
export default function deltaE00(color0, color1, weight = [1, 1, 1]) {
|
|
32
|
-
// eslint-disable-next-line prefer-destructuring
|
|
33
35
|
const l0 = color0[0];
|
|
34
|
-
// eslint-disable-next-line prefer-destructuring
|
|
35
36
|
const a0 = color0[1];
|
|
36
|
-
// eslint-disable-next-line prefer-destructuring
|
|
37
37
|
const b0 = color0[2];
|
|
38
|
-
// eslint-disable-next-line prefer-destructuring
|
|
39
38
|
const l1 = color1[0];
|
|
40
|
-
// eslint-disable-next-line prefer-destructuring
|
|
41
39
|
const a1 = color1[1];
|
|
42
|
-
// eslint-disable-next-line prefer-destructuring
|
|
43
40
|
const b1 = color1[2];
|
|
44
41
|
const i0 = ((Math.hypot(a0, b0) + Math.hypot(a1, b1)) / 2) ** 7;
|
|
45
|
-
const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 +
|
|
42
|
+
const i1 = 0.5 * (1 - Math.sqrt(i0 / (i0 + c1)));
|
|
46
43
|
const i2 = (1 + i1) * a0;
|
|
47
44
|
const i3 = Math.hypot(i2, b0);
|
|
48
45
|
const i4 = cieLabToHue(i2, b0);
|
|
@@ -67,24 +64,23 @@ export default function deltaE00(color0, color1, weight = [1, 1, 1]) {
|
|
|
67
64
|
: i13 > 180 ? i13 - 360
|
|
68
65
|
: i13 + 360) /
|
|
69
66
|
2) *
|
|
70
|
-
|
|
71
|
-
)) /
|
|
67
|
+
c2)) /
|
|
72
68
|
(weight[2] *
|
|
73
69
|
(1 +
|
|
74
70
|
0.015 *
|
|
75
71
|
i8 *
|
|
76
72
|
(1 -
|
|
77
|
-
0.17 * Math.cos((i11 - 30) *
|
|
78
|
-
0.24 * Math.cos(2 * i11 *
|
|
79
|
-
0.32 * Math.cos((3 * i11 + 6) *
|
|
80
|
-
0.2 * Math.cos((4 * i11 - 63) *
|
|
73
|
+
0.17 * Math.cos((i11 - 30) * c2) +
|
|
74
|
+
0.24 * Math.cos(2 * i11 * c2) +
|
|
75
|
+
0.32 * Math.cos((3 * i11 + 6) * c2) -
|
|
76
|
+
0.2 * Math.cos((4 * i11 - 63) * c2))));
|
|
81
77
|
const i15 = i8 ** 7;
|
|
82
78
|
const i16 = ((l0 + l1) / 2 - 50) ** 2;
|
|
83
79
|
return Math.sqrt(((l1 - l0) / (weight[0] * (1 + (0.015 * i16) / Math.sqrt(20 + i16)))) ** 2 +
|
|
84
80
|
i12 ** 2 +
|
|
85
81
|
i14 ** 2 +
|
|
86
|
-
-Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) *
|
|
87
|
-
(2 * Math.sqrt(i15 / (i15 +
|
|
82
|
+
-Math.sin(2 * (30 * Math.exp(-(((i11 - 275) / 25) ** 2))) * c2) *
|
|
83
|
+
(2 * Math.sqrt(i15 / (i15 + c1))) *
|
|
88
84
|
i12 *
|
|
89
85
|
i14);
|
|
90
86
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE00.js","sourceRoot":"","sources":["../../src/delta/deltaE00.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE76.d.ts","sourceRoot":"","sources":["../../src/delta/deltaE76.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC;AACnE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE76.js","sourceRoot":"","sources":["../../src/delta/deltaE76.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAiB,EAAE,MAAiB;IACpE,OAAO,IAAI,CAAC,KAAK,CAChB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CACrB,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Lab from "../types/Lab.js";
|
|
2
|
-
import type
|
|
2
|
+
import type Lchab from "../types/Lchab.js";
|
|
3
3
|
/**
|
|
4
4
|
* Calculates the ΔE* 1994 between two CIELAB values. Based on the EasyRGB pseudocode.
|
|
5
5
|
* @param color0 - The first color.
|
|
@@ -9,5 +9,5 @@ import type Lch from "../types/Lch.js";
|
|
|
9
9
|
* @see {@link https://en.wikipedia.org/wiki/Color_difference | Color difference}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export default function deltaE94(color0: Lab, color1: Lab, weight?:
|
|
12
|
+
export default function deltaE94(color0: Lab, color1: Lab, weight?: Lchab): number;
|
|
13
13
|
//# sourceMappingURL=deltaE94.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE94.d.ts","sourceRoot":"","sources":["../../src/delta/deltaE94.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,MAAM,GAAE,KAAiB,GACvB,MAAM,CAuBR"}
|
|
@@ -8,17 +8,11 @@
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export default function deltaE94(color0, color1, weight = [1, 1, 1]) {
|
|
11
|
-
// eslint-disable-next-line prefer-destructuring
|
|
12
11
|
const l0 = color0[0];
|
|
13
|
-
// eslint-disable-next-line prefer-destructuring
|
|
14
12
|
const a0 = color0[1];
|
|
15
|
-
// eslint-disable-next-line prefer-destructuring
|
|
16
13
|
const b0 = color0[2];
|
|
17
|
-
// eslint-disable-next-line prefer-destructuring
|
|
18
14
|
const l1 = color1[0];
|
|
19
|
-
// eslint-disable-next-line prefer-destructuring
|
|
20
15
|
const a1 = color1[1];
|
|
21
|
-
// eslint-disable-next-line prefer-destructuring
|
|
22
16
|
const b1 = color1[2];
|
|
23
17
|
const i0 = Math.hypot(a0, b0);
|
|
24
18
|
const i1 = l1 - l0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deltaE94.js","sourceRoot":"","sources":["../../src/delta/deltaE94.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC/B,MAAW,EACX,MAAW,EACX,SAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE1E,OAAO,IAAI,CAAC,KAAK,CAChB,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EACd,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,EACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAC7D,CAAC;AACH,CAAC"}
|