示例#1
0
// Write wraps each byte with an RGB color. Weeee!
func (r *Rainbow) Write(p []byte) (int, error) {

	buf := bytes.NewBuffer(nil)
	for i := range p {
		r.h += (0.5 / 360)
		if r.h > 1.0 {
			r.h = 0
		}
		r, g, b := rgbterm.HSLtoRGB(r.h, r.s, r.l)
		_, _ = buf.Write(rgbterm.Byte(p[i], r, g, b))
	}

	_, err := buf.WriteTo(r.wrap)
	return len(p), err
}
示例#2
0
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:
	// ████████████████████████████████████████████████████████████████████████████████

}
示例#3
0
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:
	// ████████████████████████████████████████████████████████████████████████████████

}