[ansi-print] Fix color calculation

Still something's wrong.
This commit is contained in:
Behdad Esfahbod 2022-06-22 16:13:53 -06:00
parent 1abec5cd0d
commit a4db80ca0a
1 changed files with 2 additions and 2 deletions

View File

@ -196,10 +196,10 @@ struct biimage_t
color_t bgc = color_t::from_ansi (bg); color_t bgc = color_t::from_ansi (bg);
color_t fgc = color_t::from_ansi (fg); color_t fgc = color_t::from_ansi (fg);
color_diff_t diff = fgc.diff (bgc); color_diff_t diff = fgc.diff (bgc);
int dd = diff.dot (diff); int dd = sqrt (diff.dot (diff));
for (unsigned int y = 0; y < height; y++) for (unsigned int y = 0; y < height; y++)
for (unsigned int x = 0; x < width; x++) { for (unsigned int x = 0; x < width; x++) {
int d = diff.dot (image (x, y).diff (bgc)); int d = sqrt (diff.dot (image (x, y).diff (bgc)));
(*this)(x, y) = d < 0 ? 0 : d > dd ? 255 : lround (d * 255. / dd); (*this)(x, y) = d < 0 ? 0 : d > dd ? 255 : lround (d * 255. / dd);
} }
} }