UNPKG

@fimbul-works/vec-color

Version:

A comprehensive, type-safe color manipulation library for TypeScript that provides a wide range of color space conversions, blending operations, and accessibility utilities.

30 lines (29 loc) 1.44 kB
import { Vec3 } from "@fimbul-works/vec"; /** * Converts XYZ color to CIE LAB color space using D65 illuminant * LAB represents all visible colors with L for lightness (0-100), a for green-red, and b for blue-yellow * @param xyz - Vec3 containing XYZ values (each channel normalized) * @returns Vec3 containing LAB values (l: 0-100, a: -128-127, b: -128-127) */ export declare function xyzToLAB(xyz: Vec3): Vec3; /** * Converts CIE LAB color to XYZ color space using D65 illuminant * Transforms perceptually uniform LAB coordinates back to device-independent XYZ * @param lab - Vec3 containing LAB values (l: 0-100, a: -128-127, b: -128-127) * @returns Vec3 containing XYZ values (each channel normalized) */ export declare function labToXYZ(lab: Vec3): Vec3; /** * Converts RGB color to CIE LAB color space * Provides a perceptually uniform color space useful for color difference calculations * @param rgb - Vec3 containing RGB values (each channel from 0 to 1) * @returns Vec3 containing LAB values (l: 0-100, a: -128-127, b: -128-127) */ export declare function rgbToLAB(rgb: Vec3): Vec3; /** * Converts CIE LAB color to RGB color space * Transforms perceptually uniform color coordinates to display-ready RGB values * @param lab - Vec3 containing LAB values (l: 0-100, a: -128-127, b: -128-127) * @returns Vec3 containing RGB values (each channel from 0 to 1) */ export declare function labToRGB(lab: Vec3): Vec3;