const fn round_u8(value: f32) -> u8
Nearest-integer rounding as ecolor does it — the + 0.5 truncation, not f32::round, because the two disagree on ties and the byte has to match.
+ 0.5
f32::round