use the raw luma

This commit is contained in:
Brooke Vibber 2024-08-27 19:09:28 -07:00
parent a2d496118e
commit 0ea766a5a6

View file

@ -247,21 +247,13 @@ function colorize(input) {
// Try dithering with this palette.
for (let x = 0; x < width; x++) {
let rgb = inputPixel(x, error);
let luma = Math.round(rgb.luma() / 15);
let pick = luma;
// find the closest possible color
// @todo consider doing the difference scoring in luminance and hue spaces
shortest = Infinity;
let pick = 1;
for (let i = 0; i < palette.length; i++) {
let diff = rgb.difference(atariRGB[palette[i]]);
let dist = diff.magnitude();
if (dist < shortest) {
nextError = diff;
shortest = dist;
pick = i;
}
}
let diff = rgb.difference(atariRGB[palette[pick]]);
let dist = diff.magnitude();
nextError = diff;
shortest = dist;
output[x] = pick;
distance += shortest;