Skip to content

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}) }

Clone this wiki locally