func ExampleBytes() { data := []byte("â–ˆ") h, s, l := rgbterm.RGBtoHSL(252, 255, 43) for i := 0; i < 80; i++ { h += (5.0 / 360.0) if h > 1.0 { h = 0.0 } r, g, b := rgbterm.HSLtoRGB(h, s, l) fmt.Printf("%s", rgbterm.Bytes(data, r, g, b)) } fmt.Println() // Output: // [38;5;190mâ–ˆ[0;00m[38;5;190mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m[38;5;82mâ–ˆ[0;00m[38;5;82mâ–ˆ[0;00m[38;5;82mâ–ˆ[0;00m[38;5;46mâ–ˆ[0;00m[38;5;47mâ–ˆ[0;00m[38;5;47mâ–ˆ[0;00m[38;5;47mâ–ˆ[0;00m[38;5;48mâ–ˆ[0;00m[38;5;48mâ–ˆ[0;00m[38;5;48mâ–ˆ[0;00m[38;5;49mâ–ˆ[0;00m[38;5;49mâ–ˆ[0;00m[38;5;50mâ–ˆ[0;00m[38;5;50mâ–ˆ[0;00m[38;5;50mâ–ˆ[0;00m[38;5;45mâ–ˆ[0;00m[38;5;45mâ–ˆ[0;00m[38;5;45mâ–ˆ[0;00m[38;5;39mâ–ˆ[0;00m[38;5;39mâ–ˆ[0;00m[38;5;39mâ–ˆ[0;00m[38;5;33mâ–ˆ[0;00m[38;5;33mâ–ˆ[0;00m[38;5;33mâ–ˆ[0;00m[38;5;27mâ–ˆ[0;00m[38;5;27mâ–ˆ[0;00m[38;5;27mâ–ˆ[0;00m[38;5;21mâ–ˆ[0;00m[38;5;57mâ–ˆ[0;00m[38;5;57mâ–ˆ[0;00m[38;5;57mâ–ˆ[0;00m[38;5;93mâ–ˆ[0;00m[38;5;93mâ–ˆ[0;00m[38;5;93mâ–ˆ[0;00m[38;5;129mâ–ˆ[0;00m[38;5;129mâ–ˆ[0;00m[38;5;165mâ–ˆ[0;00m[38;5;165mâ–ˆ[0;00m[38;5;165mâ–ˆ[0;00m[38;5;200mâ–ˆ[0;00m[38;5;200mâ–ˆ[0;00m[38;5;200mâ–ˆ[0;00m[38;5;199mâ–ˆ[0;00m[38;5;199mâ–ˆ[0;00m[38;5;199mâ–ˆ[0;00m[38;5;198mâ–ˆ[0;00m[38;5;198mâ–ˆ[0;00m[38;5;198mâ–ˆ[0;00m[38;5;197mâ–ˆ[0;00m[38;5;197mâ–ˆ[0;00m[38;5;197mâ–ˆ[0;00m[38;5;196mâ–ˆ[0;00m[38;5;202mâ–ˆ[0;00m[38;5;202mâ–ˆ[0;00m[38;5;202mâ–ˆ[0;00m[38;5;208mâ–ˆ[0;00m[38;5;208mâ–ˆ[0;00m[38;5;208mâ–ˆ[0;00m[38;5;214mâ–ˆ[0;00m[38;5;214mâ–ˆ[0;00m[38;5;214mâ–ˆ[0;00m[38;5;220mâ–ˆ[0;00m[38;5;220mâ–ˆ[0;00m[38;5;226mâ–ˆ[0;00m[38;5;190mâ–ˆ[0;00m[38;5;190mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;154mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m[38;5;118mâ–ˆ[0;00m }
func ExampleBytes() { data := []byte("â–ˆ") h, s, l := rgbterm.RGBtoHSL(252, 255, 43) for i := 0; i < 80; i++ { h += (5.0 / 360.0) if h > 1.0 { h = 0.0 } r, g, b := rgbterm.HSLtoRGB(h, s, l) fmt.Printf("%s", rgbterm.Bytes(data, r, g, b, 0, 0, 0)) //b, g, r)) } fmt.Println() // Output: // [38;5;190;48;5;16mâ–ˆ[0;00m[38;5;190;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m[38;5;82;48;5;16mâ–ˆ[0;00m[38;5;82;48;5;16mâ–ˆ[0;00m[38;5;82;48;5;16mâ–ˆ[0;00m[38;5;46;48;5;16mâ–ˆ[0;00m[38;5;47;48;5;16mâ–ˆ[0;00m[38;5;47;48;5;16mâ–ˆ[0;00m[38;5;47;48;5;16mâ–ˆ[0;00m[38;5;48;48;5;16mâ–ˆ[0;00m[38;5;48;48;5;16mâ–ˆ[0;00m[38;5;48;48;5;16mâ–ˆ[0;00m[38;5;49;48;5;16mâ–ˆ[0;00m[38;5;49;48;5;16mâ–ˆ[0;00m[38;5;50;48;5;16mâ–ˆ[0;00m[38;5;50;48;5;16mâ–ˆ[0;00m[38;5;50;48;5;16mâ–ˆ[0;00m[38;5;45;48;5;16mâ–ˆ[0;00m[38;5;45;48;5;16mâ–ˆ[0;00m[38;5;45;48;5;16mâ–ˆ[0;00m[38;5;39;48;5;16mâ–ˆ[0;00m[38;5;39;48;5;16mâ–ˆ[0;00m[38;5;39;48;5;16mâ–ˆ[0;00m[38;5;33;48;5;16mâ–ˆ[0;00m[38;5;33;48;5;16mâ–ˆ[0;00m[38;5;33;48;5;16mâ–ˆ[0;00m[38;5;27;48;5;16mâ–ˆ[0;00m[38;5;27;48;5;16mâ–ˆ[0;00m[38;5;27;48;5;16mâ–ˆ[0;00m[38;5;21;48;5;16mâ–ˆ[0;00m[38;5;57;48;5;16mâ–ˆ[0;00m[38;5;57;48;5;16mâ–ˆ[0;00m[38;5;57;48;5;16mâ–ˆ[0;00m[38;5;93;48;5;16mâ–ˆ[0;00m[38;5;93;48;5;16mâ–ˆ[0;00m[38;5;93;48;5;16mâ–ˆ[0;00m[38;5;129;48;5;16mâ–ˆ[0;00m[38;5;129;48;5;16mâ–ˆ[0;00m[38;5;165;48;5;16mâ–ˆ[0;00m[38;5;165;48;5;16mâ–ˆ[0;00m[38;5;165;48;5;16mâ–ˆ[0;00m[38;5;200;48;5;16mâ–ˆ[0;00m[38;5;200;48;5;16mâ–ˆ[0;00m[38;5;200;48;5;16mâ–ˆ[0;00m[38;5;199;48;5;16mâ–ˆ[0;00m[38;5;199;48;5;16mâ–ˆ[0;00m[38;5;199;48;5;16mâ–ˆ[0;00m[38;5;198;48;5;16mâ–ˆ[0;00m[38;5;198;48;5;16mâ–ˆ[0;00m[38;5;198;48;5;16mâ–ˆ[0;00m[38;5;197;48;5;16mâ–ˆ[0;00m[38;5;197;48;5;16mâ–ˆ[0;00m[38;5;197;48;5;16mâ–ˆ[0;00m[38;5;196;48;5;16mâ–ˆ[0;00m[38;5;202;48;5;16mâ–ˆ[0;00m[38;5;202;48;5;16mâ–ˆ[0;00m[38;5;202;48;5;16mâ–ˆ[0;00m[38;5;208;48;5;16mâ–ˆ[0;00m[38;5;208;48;5;16mâ–ˆ[0;00m[38;5;208;48;5;16mâ–ˆ[0;00m[38;5;214;48;5;16mâ–ˆ[0;00m[38;5;214;48;5;16mâ–ˆ[0;00m[38;5;214;48;5;16mâ–ˆ[0;00m[38;5;220;48;5;16mâ–ˆ[0;00m[38;5;220;48;5;16mâ–ˆ[0;00m[38;5;226;48;5;16mâ–ˆ[0;00m[38;5;190;48;5;16mâ–ˆ[0;00m[38;5;190;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;154;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m[38;5;118;48;5;16mâ–ˆ[0;00m }
// New creates a Rainbow writer, wrapping each byte with a new color // of the rainbow. This is clearly a good idea! This is especially // useful when w is something like a net.Conn or the output of a log. func New(w io.Writer, r, g, b uint8) *Rainbow { h, s, l := rgbterm.RGBtoHSL(r, g, b) return &Rainbow{wrap: w, h: h, s: s, l: l} }