mirror of
https://github.com/zulip/zulip.git
synced 2026-07-15 21:03:26 +08:00
colorspace: Remove unused module.
It’s unused since commit 7e473003a6
(#23782).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
ebfe9637c8
commit
38e7a85e90
@ -1,32 +0,0 @@
|
||||
// Convert an sRGB value in [0, 255] to a linear intensity
|
||||
// value in [0, 1].
|
||||
//
|
||||
// https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation
|
||||
export function sRGB_to_linear(v: number): number {
|
||||
v = v / 255;
|
||||
if (v <= 0.04045) {
|
||||
return v / 12.92;
|
||||
}
|
||||
return Math.pow((v + 0.055) / 1.055, 2.4);
|
||||
}
|
||||
|
||||
// Compute luminance (CIE Y stimulus) from linear intensity
|
||||
// of sRGB / Rec. 709 primaries.
|
||||
export function rgb_luminance(channel: [number, number, number]): number {
|
||||
return 0.2126 * channel[0] + 0.7152 * channel[1] + 0.0722 * channel[2];
|
||||
}
|
||||
|
||||
// Convert luminance (photometric, CIE Y)
|
||||
// to lightness (perceptual, CIE L*)
|
||||
//
|
||||
// https://en.wikipedia.org/wiki/Lab_color_space#Forward_transformation
|
||||
export function luminance_to_lightness(luminance: number): number {
|
||||
let v;
|
||||
if (luminance <= 216 / 24389) {
|
||||
v = (841 / 108) * luminance + 4 / 29;
|
||||
} else {
|
||||
v = Math.pow(luminance, 1 / 3);
|
||||
}
|
||||
|
||||
return 116 * v - 16;
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
const {strict: assert} = require("assert");
|
||||
|
||||
const {zrequire} = require("./lib/namespace");
|
||||
const {run_test} = require("./lib/test");
|
||||
|
||||
const colorspace = zrequire("colorspace");
|
||||
|
||||
run_test("sRGB_to_linear", () => {
|
||||
let srgb_color = 0.0042;
|
||||
let expected_value = 0.0042 / 255 / 12.92;
|
||||
let actual_value = colorspace.sRGB_to_linear(srgb_color);
|
||||
assert.equal(actual_value, expected_value);
|
||||
|
||||
srgb_color = 255;
|
||||
expected_value = 1;
|
||||
actual_value = colorspace.sRGB_to_linear(srgb_color);
|
||||
assert.equal(actual_value, expected_value);
|
||||
});
|
||||
|
||||
run_test("rgb_luminance", () => {
|
||||
const channel = [1, 1, 1];
|
||||
const expected_value = 1;
|
||||
const actual_value = colorspace.rgb_luminance(channel);
|
||||
assert.equal(actual_value, expected_value);
|
||||
});
|
||||
|
||||
run_test("luminance_to_lightness", () => {
|
||||
let luminance = 0;
|
||||
let expected_value = (116 * 4) / 29 - 16;
|
||||
let actual_value = colorspace.luminance_to_lightness(luminance);
|
||||
assert.equal(actual_value, expected_value);
|
||||
|
||||
luminance = 1;
|
||||
expected_value = 100;
|
||||
actual_value = colorspace.luminance_to_lightness(luminance);
|
||||
assert.equal(actual_value, expected_value);
|
||||
});
|
||||
Loading…
Reference in New Issue
Block a user