added colors
This commit is contained in:
		
							parent
							
								
									c70b369f31
								
							
						
					
					
						commit
						dc6ec67168
					
				|  | @ -1,30 +1,52 @@ | ||||||
| package color | package color | ||||||
| 
 | 
 | ||||||
| import "fmt" | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"math" | ||||||
|  | ) | ||||||
| 
 | 
 | ||||||
| var colorForeground = map[[3]int]string { | var colorForeground = map[[3]int]string { | ||||||
| 	[3]int{0, 0, 0}:"\033[30m", | 	[3]int{0, 0, 0}:"\033[30m", //black
 | ||||||
| 	[3]int{204, 0, 0}:"\033[31m", | 	[3]int{204, 0, 0}:"\033[31m", //dark red
 | ||||||
| 	[3]int{78, 154, 6}:"\033[32m", | 	[3]int{25, 203, 0}:"\033[32m", //dark green
 | ||||||
| 	[3]int{196, 160, 0}:"\033[33m", | 	[3]int{206, 203, 0}:"\033[33m", //dark yellow
 | ||||||
| 	[3]int{114, 159, 207}:"\033[34m", | 	[3]int{13, 115, 204}:"\033[34m", //dark blue
 | ||||||
| 	[3]int{117, 80, 123}:"\033[35m", | 	[3]int{203, 20, 209}:"\033[35m", //dark pink
 | ||||||
| 	[3]int{6, 152, 154}:"\033[36m", | 	[3]int{13, 205, 205}:"\033[36m", //dark cyan
 | ||||||
| 	[3]int{211, 215, 207}:"\033[37m", | 	[3]int{221, 221, 221}:"\033[37m", //dark white
 | ||||||
| 	[3]int{85, 87, 83}:"\033[90m", | 	[3]int{118, 118, 118}:"\033[90m", // grey
 | ||||||
| 	[3]int{239, 41, 41}:"\033[91m", | 	[3]int{242, 32, 31}:"\033[91m", //red
 | ||||||
| 	[3]int{138, 226, 52}:"\033[92m", | 	[3]int{35, 253, 0}:"\033[92m", //green
 | ||||||
| 	[3]int{252, 233, 79}:"\033[93m", | 	[3]int{255, 253, 0}:"\033[93m", //yellow
 | ||||||
| 	[3]int{50, 175, 255}:"\033[94m", | 	[3]int{26, 143, 255}:"\033[94m", //blue
 | ||||||
| 	[3]int{173, 127, 168}:"\033[95m", | 	[3]int{253, 40, 255}:"\033[95m", //pink
 | ||||||
| 	[3]int{52, 226, 226}:"\033[96m", | 	[3]int{20, 255, 255}:"\033[96m", // cyan
 | ||||||
| 	[3]int{255, 255, 255}:"\033[97m", | 	[3]int{255, 255, 255}:"\033[97m", //white
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func PrintColorPallet() { | func PrintColorPallet() { | ||||||
| 	non := "\033[0m" | 	non := "\033[0m" | ||||||
| 	arr := []string{"\033[49m", "\033[40m", "\033[41m", "\033[42m", "\033[43m", "\033[44m", "\033[45m", "\033[46m", "\033[47m", "\033[100m", "\033[101m", "\033[102m", "\033[103m", "\033[104m", "\033[105m", "\033[106m", "\033[107m"} | 	arr := []string{"\033[40m", "\033[41m", "\033[42m", "\033[43m", "\033[44m", "\033[45m", "\033[46m", "\033[47m", "\033[100m", "\033[101m", "\033[102m", "\033[103m", "\033[104m", "\033[105m", "\033[106m", "\033[107m"} | ||||||
| 	for _, v := range arr { | 	for i, v := range arr { | ||||||
| 		fmt.Println(v, "           ", non) | 		fmt.Println(i, v, "           ", non) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func GetColor(p [3]int) (string, string) { | ||||||
|  | 	var color string = "\033[39m" | ||||||
|  | 	var delta float64 = 255 | ||||||
|  | 	r2  := float64(p[0]) | ||||||
|  | 	g2  := float64(p[1]) | ||||||
|  | 	b2  := float64(p[2]) | ||||||
|  | 	for k, v := range colorForeground { | ||||||
|  | 		r1  := float64(k[0]) | ||||||
|  | 		g1  := float64(k[1]) | ||||||
|  | 		b1  := float64(k[2]) | ||||||
|  | 		otherDelta := math.Sqrt(math.Pow((r2-r1)*0.6, 2) + math.Pow((g2-g1)*1.5, 2) + math.Pow((b2-b1)*0.5,2)) | ||||||
|  | 		if (otherDelta < delta) { | ||||||
|  | 			delta = otherDelta | ||||||
|  | 			color = v | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return color, "\033[0m" | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								main.go
								
								
								
								
							
							
						
						
									
										11
									
								
								main.go
								
								
								
								
							|  | @ -4,6 +4,8 @@ Copyright © 2024 NAME HERE <EMAIL ADDRESS> | ||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 
 | ||||||
| 	"github.com/LorenzHohermuth/cli-shapes/cmd" | 	"github.com/LorenzHohermuth/cli-shapes/cmd" | ||||||
| 	"github.com/LorenzHohermuth/cli-shapes/internal/color" | 	"github.com/LorenzHohermuth/cli-shapes/internal/color" | ||||||
| 	"github.com/LorenzHohermuth/cli-shapes/internal/renderer" | 	"github.com/LorenzHohermuth/cli-shapes/internal/renderer" | ||||||
|  | @ -11,14 +13,19 @@ import ( | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func main() { | func main() { | ||||||
| 	pix := image.ImageToPixles("/home/lorenz/Downloads/crab.png") | 	//pix := image.ImageToPixles("/home/lorenz/Downloads/mushroom-mini.png")
 | ||||||
|  | 	//pix := image.ImageToPixles("/home/lorenz/Downloads/rgb.png")
 | ||||||
|  | 	pix := image.ImageToPixles("/home/lorenz/Downloads/yoshi.png") | ||||||
| 	s := "" | 	s := "" | ||||||
| 	for _, y := range pix { | 	for _, y := range pix { | ||||||
| 		for _, x := range y { | 		for _, x := range y { | ||||||
| 			s += renderer.GetChar(x.Brightness()) | 			color, non := color.GetColor([3]int{x.R, x.G, x.B}) | ||||||
|  | 			char := renderer.GetChar(x.Brightness()) | ||||||
|  | 			s += color + char + non | ||||||
| 		} | 		} | ||||||
| 		s += "\n" | 		s += "\n" | ||||||
| 	} | 	} | ||||||
|  | 	fmt.Println(s) | ||||||
| 	color.PrintColorPallet() | 	color.PrintColorPallet() | ||||||
| 	cmd.Execute() | 	cmd.Execute() | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue