-
Notifications
You must be signed in to change notification settings - Fork 1
coverting ansi to rgb
gitbbln edited this page Nov 22, 2021
·
5 revisions
const low_rgb = [ '#000000', '#800000', '#008000', '#808000', '#000080', '#800080', '#008080', '#c0c0c0', '#808080', '#ff0000', '#00ff00', '#ffff00', '#0000ff', '#ff00ff', '#00ffff', '#ffffff' ]
function ansi_rgb(ansi) { if (ansi < 0 || ansi > 255) return '#000' if (ansi < 16) return low_rgb[ansi]
if (ansi > 231) {
const s = (ansi - 232) * 10 + 8
return rgb(${s},${s},${s})
}
const n = ansi - 16 let b = n % 6 let g = (n - b) / 6 % 6 let r = (n - b - g * 6) / 36 % 6 b = b ? b * 40 + 55 : 0 r = r ? r * 40 + 55 : 0 g = g ? g * 40 + 55 : 0
return rgb(${r},${g},${b})
}