wip
This commit is contained in:
parent
2c943419ce
commit
9df948721c
1 changed files with 15 additions and 1 deletions
|
@ -131,6 +131,10 @@ class RGB {
|
|||
this.g * this.g +
|
||||
this.b * this.b;
|
||||
}
|
||||
|
||||
luma() {
|
||||
return this.r * 0.299 + this.g * 0.587 + this.b * 0.114;
|
||||
}
|
||||
}
|
||||
|
||||
const maxDist = (new RGB(255, 255, 255)).magnitude();
|
||||
|
@ -576,12 +580,22 @@ function decimate(input, palette, n, inputError, y) {
|
|||
// .reduce((acc, rgb) => acc.inc(rgb), new RGB(0, 0, 0))
|
||||
// .divide(bucket.length);
|
||||
|
||||
// Take the brightest color in the bucket
|
||||
// Take the channel-brightest color in the bucket
|
||||
//let rgb = bucket[bucket.length - 1];
|
||||
|
||||
// Take the luma-brightest color in the bucket
|
||||
//let rgb = bucket.slice().sort((a, b) => b.luma() - a.luma())[bucket.length - 1];
|
||||
|
||||
// Take the median color in the bucket
|
||||
let rgb = bucket[bucket.length >> 1];
|
||||
|
||||
// Take the luma-median color in the bucket
|
||||
//let rgb = bucket.slice().sort((a, b) => b.luma() - a.luma())[bucket.length >> 1];
|
||||
|
||||
// Take the brightest-channel median
|
||||
//let rgb = bucket.slice()
|
||||
// .sort((a, b) => Math.max(b.r, b.g, b.b) - Math.max(a.r, b.g, b.b))[bucket.length >> 1];
|
||||
|
||||
// And map into the Atari palette
|
||||
let dists = palette.map(( i) => rgb.difference(atariRGB[i]).magnitude());
|
||||
let closest = Math.min(...dists);
|
||||
|
|
Loading…
Reference in a new issue