just use srgb for consistency with the pngs
This commit is contained in:
parent
1d3712be5c
commit
fe6314e2a0
1 changed files with 21 additions and 2 deletions
|
@ -13,6 +13,7 @@ function zeroes(n) {
|
||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
function toLinear(val) {
|
function toLinear(val) {
|
||||||
// use a 2.4 gamma approximation
|
// use a 2.4 gamma approximation
|
||||||
// this is BT.1886 compatible
|
// this is BT.1886 compatible
|
||||||
|
@ -27,6 +28,18 @@ function fromLinear(val) {
|
||||||
unit **= (1 / 2.4);
|
unit **= (1 / 2.4);
|
||||||
return unit * 255;
|
return unit * 255;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function fromSRGB(val) {
|
||||||
|
val /= 255;
|
||||||
|
if (val <= 0.04045) {
|
||||||
|
val /= 12.92;
|
||||||
|
} else {
|
||||||
|
val = ((val + 0.055) / 1.055) ** 2.4;
|
||||||
|
}
|
||||||
|
val *= 255;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
function toSRGB(val) {
|
function toSRGB(val) {
|
||||||
val /= 255;
|
val /= 255;
|
||||||
|
@ -65,6 +78,7 @@ class RGB {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
toLinear() {
|
toLinear() {
|
||||||
return this.map(toLinear);
|
return this.map(toLinear);
|
||||||
}
|
}
|
||||||
|
@ -72,6 +86,11 @@ class RGB {
|
||||||
fromLinear() {
|
fromLinear() {
|
||||||
return this.map(fromLinear);
|
return this.map(fromLinear);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
fromSRGB() {
|
||||||
|
return this.map(fromSRGB);
|
||||||
|
}
|
||||||
|
|
||||||
toSRGB() {
|
toSRGB() {
|
||||||
return this.map(toSRGB);
|
return this.map(toSRGB);
|
||||||
|
@ -410,7 +429,7 @@ let atariRGB = [
|
||||||
0xf6e46f,
|
0xf6e46f,
|
||||||
0xfffa84,
|
0xfffa84,
|
||||||
0xffff99,
|
0xffff99,
|
||||||
].map((hex) => RGB.fromHex(hex).toLinear());
|
].map((hex) => RGB.fromHex(hex).fromSRGB());
|
||||||
//].map((hex) => RGB.fromHex(hex));
|
//].map((hex) => RGB.fromHex(hex));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -667,7 +686,7 @@ function imageToLinearRGB(rgba) {
|
||||||
rgba[i + 0],
|
rgba[i + 0],
|
||||||
rgba[i + 1],
|
rgba[i + 1],
|
||||||
rgba[i + 2]
|
rgba[i + 2]
|
||||||
).toLinear());
|
).fromSRGB());
|
||||||
}
|
}
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue