UNPKG

colorjs.io

Version:

Let’s get serious about color

20 lines (17 loc) 474 B
import RGBColorSpace from "../rgbspace.js"; import ProPhotoLinear from "./prophoto-linear.js"; const Et = 1 / 512; const Et2 = 16 / 512; export default new RGBColorSpace({ id: "prophoto", cssId: "prophoto-rgb", name: "ProPhoto", base: ProPhotoLinear, toBase (RGB) { // Transfer curve is gamma 1.8 with a small linear portion return RGB.map(v => v < Et2 ? v / 16 : v ** 1.8); }, fromBase (RGB) { return RGB.map(v => v >= Et ? v ** (1 / 1.8) : 16 * v); }, });