image

package
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2025 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NoResize = iota
	Resize
)

Variables

View Source
var (
	Catppuccin = Theme{
		Name: "Catpuccin",
		Colors: []color.Color{
			color.RGBA{R: 245, G: 224, B: 220, A: 255},
			color.RGBA{R: 242, G: 205, B: 205, A: 255},
			color.RGBA{R: 245, G: 194, B: 231, A: 255},
			color.RGBA{R: 203, G: 166, B: 247, A: 255},
			color.RGBA{R: 243, G: 139, B: 168, A: 255},
			color.RGBA{R: 235, G: 160, B: 172, A: 255},
			color.RGBA{R: 250, G: 179, B: 135, A: 255},
			color.RGBA{R: 249, G: 226, B: 175, A: 255},
			color.RGBA{R: 166, G: 227, B: 161, A: 255},
			color.RGBA{R: 148, G: 226, B: 213, A: 255},
			color.RGBA{R: 137, G: 220, B: 235, A: 255},
			color.RGBA{R: 116, G: 199, B: 236, A: 255},
			color.RGBA{R: 137, G: 180, B: 250, A: 255},
			color.RGBA{R: 180, G: 190, B: 254, A: 255},
			color.RGBA{R: 205, G: 214, B: 244, A: 255},
			color.RGBA{R: 186, G: 194, B: 222, A: 255},
			color.RGBA{R: 166, G: 173, B: 200, A: 255},
			color.RGBA{R: 147, G: 153, B: 178, A: 255},
			color.RGBA{R: 127, G: 132, B: 156, A: 255},
			color.RGBA{R: 108, G: 112, B: 134, A: 255},
			color.RGBA{R: 88, G: 91, B: 112, A: 255},
			color.RGBA{R: 69, G: 71, B: 90, A: 255},
			color.RGBA{R: 49, G: 50, B: 68, A: 255},
			color.RGBA{R: 30, G: 30, B: 46, A: 255},
			color.RGBA{R: 24, G: 24, B: 37, A: 255},
			color.RGBA{R: 17, G: 17, B: 27, A: 255},
		},
	}

	Nord = Theme{
		Name: "Nord",
		Colors: []color.Color{
			color.RGBA{R: 46, G: 52, B: 64, A: 255},
			color.RGBA{R: 59, G: 66, B: 82, A: 255},
			color.RGBA{R: 67, G: 76, B: 94, A: 255},
			color.RGBA{R: 76, G: 86, B: 106, A: 255},
			color.RGBA{R: 216, G: 222, B: 233, A: 255},
			color.RGBA{R: 229, G: 233, B: 240, A: 255},
			color.RGBA{R: 236, G: 239, B: 244, A: 255},
			color.RGBA{R: 143, G: 188, B: 187, A: 255},
			color.RGBA{R: 136, G: 192, B: 208, A: 255},
			color.RGBA{R: 129, G: 161, B: 193, A: 255},
			color.RGBA{R: 94, G: 129, B: 172, A: 255},
			color.RGBA{R: 191, G: 97, B: 106, A: 255},
			color.RGBA{R: 208, G: 135, B: 112, A: 255},
			color.RGBA{R: 235, G: 203, B: 139, A: 255},
			color.RGBA{R: 163, G: 190, B: 140, A: 255},
			color.RGBA{R: 180, G: 142, B: 173, A: 255},
		},
	}

	Everforest = Theme{
		Name: "Everforest",
		Colors: []color.Color{
			color.RGBA{R: 35, G: 42, B: 46, A: 255},
			color.RGBA{R: 45, G: 53, B: 59, A: 255},
			color.RGBA{R: 52, G: 63, B: 68, A: 255},
			color.RGBA{R: 61, G: 72, B: 77, A: 255},
			color.RGBA{R: 71, G: 82, B: 88, A: 255},
			color.RGBA{R: 79, G: 88, B: 94, A: 255},
			color.RGBA{R: 86, G: 99, B: 95, A: 255},
			color.RGBA{R: 84, G: 58, B: 72, A: 255},
			color.RGBA{R: 81, G: 64, B: 69, A: 255},
			color.RGBA{R: 66, G: 80, B: 71, A: 255},
			color.RGBA{R: 58, G: 81, B: 93, A: 255},
			color.RGBA{R: 77, G: 76, B: 67, A: 255},
			color.RGBA{R: 211, G: 198, B: 170, A: 255},
			color.RGBA{R: 230, G: 126, B: 128, A: 255},
			color.RGBA{R: 230, G: 152, B: 117, A: 255},
			color.RGBA{R: 219, G: 188, B: 127, A: 255},
			color.RGBA{R: 167, G: 192, B: 128, A: 255},
			color.RGBA{R: 131, G: 192, B: 146, A: 255},
			color.RGBA{R: 127, G: 187, B: 179, A: 255},
			color.RGBA{R: 214, G: 153, B: 182, A: 255},
			color.RGBA{R: 122, G: 132, B: 120, A: 255},
			color.RGBA{R: 133, G: 146, B: 137, A: 255},
			color.RGBA{R: 157, G: 169, B: 160, A: 255},
		},
	}

	Gruvbox = Theme{
		Name: "Gruvbox",
		Colors: []color.Color{
			color.RGBA{R: 40, G: 40, B: 40, A: 255},
			color.RGBA{R: 29, G: 32, B: 33, A: 255},
			color.RGBA{R: 50, G: 48, B: 47, A: 255},
			color.RGBA{R: 60, G: 56, B: 54, A: 255},
			color.RGBA{R: 80, G: 73, B: 69, A: 255},
			color.RGBA{R: 102, G: 92, B: 84, A: 255},
			color.RGBA{R: 124, G: 111, B: 100, A: 255},
			color.RGBA{R: 235, G: 219, B: 178, A: 255},
			color.RGBA{R: 251, G: 241, B: 199, A: 255},
			color.RGBA{R: 213, G: 196, B: 161, A: 255},
			color.RGBA{R: 189, G: 174, B: 147, A: 255},
			color.RGBA{R: 168, G: 153, B: 132, A: 255},
			color.RGBA{R: 146, G: 131, B: 116, A: 255},
			color.RGBA{R: 204, G: 36, B: 29, A: 255},
			color.RGBA{R: 251, G: 73, B: 52, A: 255},
			color.RGBA{R: 214, G: 93, B: 14, A: 255},
			color.RGBA{R: 254, G: 128, B: 25, A: 255},
			color.RGBA{R: 215, G: 153, B: 33, A: 255},
			color.RGBA{R: 250, G: 189, B: 47, A: 255},
			color.RGBA{R: 152, G: 151, B: 26, A: 255},
			color.RGBA{R: 184, G: 187, B: 38, A: 255},
			color.RGBA{R: 104, G: 157, B: 106, A: 255},
			color.RGBA{R: 142, G: 192, B: 124, A: 255},
			color.RGBA{R: 69, G: 133, B: 136, A: 255},
			color.RGBA{R: 131, G: 165, B: 152, A: 255},
			color.RGBA{R: 177, G: 98, B: 134, A: 255},
			color.RGBA{R: 211, G: 134, B: 155, A: 255},
		},
	}

	Solarized = Theme{
		Name: "Solarized",
		Colors: []color.Color{
			color.RGBA{R: 0, G: 43, B: 54, A: 255},
			color.RGBA{R: 7, G: 54, B: 66, A: 255},
			color.RGBA{R: 88, G: 110, B: 117, A: 255},
			color.RGBA{R: 101, G: 123, B: 131, A: 255},
			color.RGBA{R: 131, G: 148, B: 150, A: 255},
			color.RGBA{R: 147, G: 161, B: 161, A: 255},
			color.RGBA{R: 238, G: 232, B: 213, A: 255},
			color.RGBA{R: 253, G: 246, B: 227, A: 255},
			color.RGBA{R: 181, G: 137, B: 0, A: 255},
			color.RGBA{R: 203, G: 75, B: 22, A: 255},
			color.RGBA{R: 220, G: 50, B: 47, A: 255},
			color.RGBA{R: 211, G: 54, B: 130, A: 255},
			color.RGBA{R: 108, G: 113, B: 196, A: 255},
			color.RGBA{R: 38, G: 139, B: 210, A: 255},
			color.RGBA{R: 42, G: 161, B: 152, A: 255},
			color.RGBA{R: 133, G: 153, B: 0, A: 255},
		},
	}

	Dracula = Theme{
		Name: "Dracula",
		Colors: []color.Color{
			color.RGBA{R: 40, G: 42, B: 54, A: 255},
			color.RGBA{R: 68, G: 71, B: 90, A: 255},
			color.RGBA{R: 248, G: 248, B: 242, A: 255},
			color.RGBA{R: 98, G: 114, B: 164, A: 255},
			color.RGBA{R: 139, G: 233, B: 253, A: 255},
			color.RGBA{R: 80, G: 250, B: 123, A: 255},
			color.RGBA{R: 255, G: 184, B: 108, A: 255},
			color.RGBA{R: 255, G: 121, B: 198, A: 255},
			color.RGBA{R: 189, G: 147, B: 249, A: 255},
			color.RGBA{R: 255, G: 85, B: 85, A: 255},
			color.RGBA{R: 241, G: 250, B: 140, A: 255},
		},
	}

	Tokyo_Moon = Theme{
		Name: "Tokyo_Moon",
		Colors: []color.Color{
			color.RGBA{R: 34, G: 36, B: 54, A: 255},
			color.RGBA{R: 27, G: 29, B: 43, A: 255},
			color.RGBA{R: 130, G: 170, B: 255, A: 255},
			color.RGBA{R: 68, G: 74, B: 115, A: 255},
			color.RGBA{R: 130, G: 170, B: 255, A: 255},
			color.RGBA{R: 134, G: 225, B: 252, A: 255},
			color.RGBA{R: 195, G: 232, B: 141, A: 255},
			color.RGBA{R: 252, G: 167, B: 234, A: 255},
			color.RGBA{R: 255, G: 117, B: 127, A: 255},
			color.RGBA{R: 200, G: 211, B: 245, A: 255},
			color.RGBA{R: 255, G: 199, B: 119, A: 255},
			color.RGBA{R: 200, G: 211, B: 245, A: 255},
			color.RGBA{R: 134, G: 225, B: 252, A: 255},
			color.RGBA{R: 200, G: 211, B: 245, A: 255},
			color.RGBA{R: 195, G: 232, B: 141, A: 255},
			color.RGBA{R: 192, G: 153, B: 255, A: 255},
			color.RGBA{R: 255, G: 117, B: 127, A: 255},
			color.RGBA{R: 45, G: 63, B: 118, A: 255},
			color.RGBA{R: 130, G: 139, B: 184, A: 255},
			color.RGBA{R: 255, G: 199, B: 119, A: 255},
		},
	}

	Onedark = Theme{
		Name: "Onedark",
		Colors: []color.Color{
			color.RGBA{R: 24, G: 26, B: 31, A: 255},
			color.RGBA{R: 40, G: 44, B: 52, A: 255},
			color.RGBA{R: 49, G: 53, B: 63, A: 255},
			color.RGBA{R: 57, G: 63, B: 74, A: 255},
			color.RGBA{R: 59, G: 63, B: 76, A: 255},
			color.RGBA{R: 33, G: 37, B: 43, A: 255},
			color.RGBA{R: 115, G: 184, B: 241, A: 255},
			color.RGBA{R: 235, G: 208, B: 156, A: 255},
			color.RGBA{R: 171, G: 178, B: 191, A: 255},
			color.RGBA{R: 198, G: 120, B: 221, A: 255},
			color.RGBA{R: 152, G: 195, B: 121, A: 255},
			color.RGBA{R: 209, G: 154, B: 102, A: 255},
			color.RGBA{R: 97, G: 175, B: 239, A: 255},
			color.RGBA{R: 229, G: 192, B: 123, A: 255},
			color.RGBA{R: 86, G: 182, B: 194, A: 255},
			color.RGBA{R: 232, G: 102, B: 113, A: 255},
			color.RGBA{R: 92, G: 99, B: 112, A: 255},
			color.RGBA{R: 132, G: 139, B: 152, A: 255},
			color.RGBA{R: 43, G: 111, B: 119, A: 255},
			color.RGBA{R: 153, G: 57, B: 57, A: 255},
			color.RGBA{R: 147, G: 105, B: 29, A: 255},
			color.RGBA{R: 138, G: 63, B: 160, A: 255},
			color.RGBA{R: 49, G: 57, B: 43, A: 255},
			color.RGBA{R: 56, G: 43, B: 44, A: 255},
			color.RGBA{R: 28, G: 52, B: 72, A: 255},
			color.RGBA{R: 44, G: 83, B: 114, A: 255},
		},
	}

	Srcery = Theme{
		Name: "Srcery",
		Colors: []color.Color{
			color.RGBA{R: 28, G: 27, B: 25, A: 255},
			color.RGBA{R: 239, G: 47, B: 39, A: 255},
			color.RGBA{R: 81, G: 159, B: 80, A: 255},
			color.RGBA{R: 251, G: 184, B: 41, A: 255},
			color.RGBA{R: 44, G: 120, B: 191, A: 255},
			color.RGBA{R: 224, G: 44, B: 109, A: 255},
			color.RGBA{R: 10, G: 174, B: 179, A: 255},
			color.RGBA{R: 186, G: 166, B: 127, A: 255},
			color.RGBA{R: 145, G: 129, B: 117, A: 255},
			color.RGBA{R: 247, G: 83, B: 65, A: 255},
			color.RGBA{R: 152, G: 188, B: 55, A: 255},
			color.RGBA{R: 254, G: 208, B: 110, A: 255},
			color.RGBA{R: 104, G: 168, B: 228, A: 255},
			color.RGBA{R: 255, G: 92, B: 143, A: 255},
			color.RGBA{R: 43, G: 228, B: 208, A: 255},
			color.RGBA{R: 252, G: 232, B: 195, A: 255},
		},
	}

	Monokai = Theme{
		Name: "Monokai",
		Colors: []color.Color{
			color.RGBA{R: 39, G: 40, B: 34, A: 255},
			color.RGBA{R: 248, G: 248, B: 242, A: 255},
			color.RGBA{R: 255, G: 85, B: 85, A: 255},
			color.RGBA{R: 255, G: 121, B: 198, A: 255},
			color.RGBA{R: 189, G: 147, B: 249, A: 255},
			color.RGBA{R: 80, G: 250, B: 123, A: 255},
			color.RGBA{R: 255, G: 184, B: 108, A: 255},
			color.RGBA{R: 241, G: 250, B: 140, A: 255},
			color.RGBA{R: 39, G: 40, B: 34, A: 255},
			color.RGBA{R: 248, G: 248, B: 242, A: 255},
			color.RGBA{R: 255, G: 85, B: 85, A: 255},
			color.RGBA{R: 255, G: 121, B: 198, A: 255},
			color.RGBA{R: 189, G: 147, B: 249, A: 255},
			color.RGBA{R: 80, G: 250, B: 123, A: 255},
			color.RGBA{R: 255, G: 184, B: 108, A: 255},
			color.RGBA{R: 241, G: 250, B: 140, A: 255},
		},
	}

	Material = Theme{
		Name: "Material",
		Colors: []color.Color{
			color.RGBA{R: 38, G: 50, B: 56, A: 255},
			color.RGBA{R: 255, G: 83, B: 112, A: 255},
			color.RGBA{R: 156, G: 39, B: 176, A: 255},
			color.RGBA{R: 103, G: 58, B: 183, A: 255},
			color.RGBA{R: 33, G: 150, B: 243, A: 255},
			color.RGBA{R: 3, G: 169, B: 244, A: 255},
			color.RGBA{R: 0, G: 188, B: 212, A: 255},
			color.RGBA{R: 0, G: 150, B: 136, A: 255},
			color.RGBA{R: 76, G: 175, B: 80, A: 255},
			color.RGBA{R: 139, G: 195, B: 74, A: 255},
			color.RGBA{R: 205, G: 220, B: 57, A: 255},
			color.RGBA{R: 255, G: 235, B: 59, A: 255},
			color.RGBA{R: 255, G: 193, B: 7, A: 255},
			color.RGBA{R: 255, G: 152, B: 0, A: 255},
			color.RGBA{R: 255, G: 87, B: 34, A: 255},
			color.RGBA{R: 121, G: 85, B: 72, A: 255},
		},
	}

	Synthwave84 = Theme{
		Name: "Synthwave84",
		Colors: []color.Color{
			color.RGBA{R: 24, G: 25, B: 31, A: 255},
			color.RGBA{R: 42, G: 43, B: 50, A: 255},
			color.RGBA{R: 52, G: 54, B: 64, A: 255},
			color.RGBA{R: 72, G: 73, B: 83, A: 255},
			color.RGBA{R: 108, G: 108, B: 131, A: 255},
			color.RGBA{R: 139, G: 139, B: 172, A: 255},
			color.RGBA{R: 161, G: 161, B: 191, A: 255},
			color.RGBA{R: 196, G: 196, B: 214, A: 255},
			color.RGBA{R: 255, G: 83, B: 108, A: 255},
			color.RGBA{R: 255, G: 129, B: 137, A: 255},
			color.RGBA{R: 192, G: 128, B: 255, A: 255},
			color.RGBA{R: 127, G: 159, B: 255, A: 255},
			color.RGBA{R: 255, G: 195, B: 70, A: 255},
			color.RGBA{R: 255, G: 255, B: 153, A: 255},
			color.RGBA{R: 255, G: 163, B: 103, A: 255},
			color.RGBA{R: 191, G: 191, B: 222, A: 255},
		},
	}

	AtomDark = Theme{
		Name: "AtomDark",
		Colors: []color.Color{
			color.RGBA{R: 26, G: 32, B: 44, A: 255},
			color.RGBA{R: 204, G: 102, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 102, A: 255},
			color.RGBA{R: 204, G: 204, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 204, A: 255},
			color.RGBA{R: 204, G: 204, B: 204, A: 255},
			color.RGBA{R: 204, G: 102, B: 102, A: 255},
			color.RGBA{R: 204, G: 204, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 204, A: 255},
			color.RGBA{R: 204, G: 204, B: 204, A: 255},
			color.RGBA{R: 204, G: 102, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 102, A: 255},
			color.RGBA{R: 204, G: 204, B: 102, A: 255},
			color.RGBA{R: 102, G: 204, B: 204, A: 255},
			color.RGBA{R: 26, G: 32, B: 44, A: 255},
		},
	}

	OceanicNext = Theme{
		Name: "Oceanic Next",
		Colors: []color.Color{
			color.RGBA{R: 28, G: 34, B: 40, A: 255},
			color.RGBA{R: 232, G: 102, B: 97, A: 255},
			color.RGBA{R: 118, G: 195, B: 115, A: 255},
			color.RGBA{R: 248, G: 185, B: 79, A: 255},
			color.RGBA{R: 102, G: 143, B: 220, A: 255},
			color.RGBA{R: 145, G: 151, B: 158, A: 255},
			color.RGBA{R: 102, G: 143, B: 220, A: 255},
			color.RGBA{R: 232, G: 102, B: 97, A: 255},
			color.RGBA{R: 122, G: 136, B: 149, A: 255},
			color.RGBA{R: 145, G: 151, B: 158, A: 255},
			color.RGBA{R: 248, G: 185, B: 79, A: 255},
			color.RGBA{R: 118, G: 195, B: 115, A: 255},
			color.RGBA{R: 102, G: 143, B: 220, A: 255},
			color.RGBA{R: 145, G: 151, B: 158, A: 255},
			color.RGBA{R: 28, G: 34, B: 40, A: 255},
		},
	}

	ShadesOfPurple = Theme{
		Name: "Shades of Purple",
		Colors: []color.Color{
			color.RGBA{R: 25, G: 20, B: 30, A: 255},
			color.RGBA{R: 209, G: 103, B: 139, A: 255},
			color.RGBA{R: 162, G: 195, B: 252, A: 255},
			color.RGBA{R: 209, G: 119, B: 255, A: 255},
			color.RGBA{R: 128, G: 186, B: 249, A: 255},
			color.RGBA{R: 153, G: 134, B: 159, A: 255},
			color.RGBA{R: 128, G: 186, B: 249, A: 255},
			color.RGBA{R: 209, G: 103, B: 139, A: 255},
			color.RGBA{R: 120, G: 106, B: 120, A: 255},
			color.RGBA{R: 153, G: 134, B: 159, A: 255},
			color.RGBA{R: 209, G: 119, B: 255, A: 255},
			color.RGBA{R: 162, G: 195, B: 252, A: 255},
			color.RGBA{R: 128, G: 186, B: 249, A: 255},
			color.RGBA{R: 153, G: 134, B: 159, A: 255},
			color.RGBA{R: 25, G: 20, B: 30, A: 255},
		},
	}

	ArcDark = Theme{
		Name: "Arc Dark",
		Colors: []color.Color{
			color.RGBA{R: 33, G: 33, B: 33, A: 255},
			color.RGBA{R: 255, G: 85, B: 85, A: 255},
			color.RGBA{R: 138, G: 191, B: 80, A: 255},
			color.RGBA{R: 255, G: 186, B: 77, A: 255},
			color.RGBA{R: 63, G: 127, B: 255, A: 255},
			color.RGBA{R: 136, G: 136, B: 136, A: 255},
			color.RGBA{R: 63, G: 127, B: 255, A: 255},
			color.RGBA{R: 255, G: 85, B: 85, A: 255},
			color.RGBA{R: 70, G: 70, B: 70, A: 255},
			color.RGBA{R: 136, G: 136, B: 136, A: 255},
			color.RGBA{R: 255, G: 186, B: 77, A: 255},
			color.RGBA{R: 138, G: 191, B: 80, A: 255},
			color.RGBA{R: 63, G: 127, B: 255, A: 255},
			color.RGBA{R: 136, G: 136, B: 136, A: 255},
			color.RGBA{R: 33, G: 33, B: 33, A: 255},
		},
	}

	SunsetAurant = Theme{
		Name: "Sunset Aurant",
		Colors: []color.Color{
			color.RGBA{R: 0, G: 0, B: 0, A: 255},
			color.RGBA{R: 255, G: 255, B: 255, A: 255},
			color.RGBA{R: 201, G: 144, B: 252, A: 255},
			color.RGBA{R: 214, G: 233, B: 187, A: 255},
			color.RGBA{R: 200, G: 160, B: 239, A: 255},
			color.RGBA{R: 198, G: 151, B: 242, A: 255},
			color.RGBA{R: 47, G: 176, B: 215, A: 255},
			color.RGBA{R: 211, G: 151, B: 88, A: 255},
			color.RGBA{R: 201, G: 144, B: 252, A: 255},
			color.RGBA{R: 247, G: 196, B: 215, A: 255},
			color.RGBA{R: 251, G: 165, B: 200, A: 255},
			color.RGBA{R: 224, G: 147, B: 30, A: 255},
			color.RGBA{R: 56, G: 62, B: 48, A: 255},
			color.RGBA{R: 86, G: 95, B: 74, A: 255},
			color.RGBA{R: 123, G: 134, B: 106, A: 255},
			color.RGBA{R: 165, G: 180, B: 144, A: 255},
			color.RGBA{R: 243, G: 136, B: 19, A: 255},
		},
	}

	SunsetSaffron = Theme{
		Name: "Sunset Saffron",
		Colors: []color.Color{
			color.RGBA{R: 29, G: 32, B: 33, A: 255},
			color.RGBA{R: 251, G: 241, B: 199, A: 255},
			color.RGBA{R: 254, G: 128, B: 25, A: 255},
			color.RGBA{R: 142, G: 192, B: 124, A: 255},
			color.RGBA{R: 211, G: 134, B: 155, A: 255},
			color.RGBA{R: 250, G: 189, B: 47, A: 255},
			color.RGBA{R: 131, G: 165, B: 152, A: 255},
			color.RGBA{R: 254, G: 128, B: 25, A: 255},
			color.RGBA{R: 29, G: 32, B: 33, A: 255},
			color.RGBA{R: 40, G: 40, B: 40, A: 255},
			color.RGBA{R: 60, G: 56, B: 54, A: 255},
			color.RGBA{R: 146, G: 131, B: 116, A: 255},
			color.RGBA{R: 80, G: 73, B: 69, A: 255},
			color.RGBA{R: 102, G: 92, B: 84, A: 255},
			color.RGBA{R: 124, G: 111, B: 100, A: 255},
			color.RGBA{R: 168, G: 153, B: 132, A: 255},
			color.RGBA{R: 0, G: 0, B: 0, A: 255},
			color.RGBA{R: 251, G: 241, B: 199, A: 255},
		},
	}

	SunsetTangerine = Theme{
		Name: "Sunset Tangerine",
		Colors: []color.Color{
			color.RGBA{R: 255, G: 87, B: 51, A: 255},
			color.RGBA{R: 255, G: 218, B: 51, A: 255},
			color.RGBA{R: 51, G: 255, B: 87, A: 255},
			color.RGBA{R: 51, G: 138, B: 255, A: 255},
			color.RGBA{R: 255, G: 51, B: 245, A: 255},
			color.RGBA{R: 51, G: 230, B: 255, A: 255},
			color.RGBA{R: 255, G: 87, B: 51, A: 255},
			color.RGBA{R: 255, G: 133, B: 51, A: 255},
			color.RGBA{R: 255, G: 207, B: 51, A: 255},
			color.RGBA{R: 51, G: 255, B: 107, A: 255},
			color.RGBA{R: 51, G: 166, B: 255, A: 255},
			color.RGBA{R: 255, G: 51, B: 181, A: 255},
			color.RGBA{R: 51, G: 247, B: 255, A: 255},
			color.RGBA{R: 255, G: 87, B: 51, A: 255},
			color.RGBA{R: 255, G: 168, B: 51, A: 255},
			color.RGBA{R: 255, G: 217, B: 51, A: 255},
			color.RGBA{R: 0, G: 0, B: 0, A: 255},
			color.RGBA{R: 255, G: 255, B: 255, A: 255},
		},
	}

	Tokyo_Storm = Theme{
		Name: "Tokyo-storm",
		Colors: []color.Color{
			color.RGBA{R: 36, G: 40, B: 59, A: 255},
			color.RGBA{R: 31, G: 35, B: 53, A: 255},
			color.RGBA{R: 41, G: 46, B: 66, A: 255},
			color.RGBA{R: 192, G: 202, B: 245, A: 255},
			color.RGBA{R: 169, G: 177, B: 214, A: 255},
			color.RGBA{R: 59, G: 66, B: 97, A: 255},
			color.RGBA{R: 122, G: 162, B: 247, A: 255},
			color.RGBA{R: 61, G: 89, B: 161, A: 255},
			color.RGBA{R: 42, G: 195, B: 222, A: 255},
			color.RGBA{R: 13, G: 185, B: 215, A: 255},
			color.RGBA{R: 137, G: 221, B: 255, A: 255},
			color.RGBA{R: 180, G: 249, B: 248, A: 255},
			color.RGBA{R: 57, G: 75, B: 112, A: 255},
			color.RGBA{R: 86, G: 95, B: 137, A: 255},
			color.RGBA{R: 125, G: 207, B: 255, A: 255},
			color.RGBA{R: 84, G: 92, B: 126, A: 255},
			color.RGBA{R: 115, G: 122, B: 162, A: 255},
			color.RGBA{R: 158, G: 206, B: 106, A: 255},
			color.RGBA{R: 115, G: 218, B: 202, A: 255},
			color.RGBA{R: 65, G: 166, B: 181, A: 255},
			color.RGBA{R: 187, G: 154, B: 247, A: 255},
			color.RGBA{R: 255, G: 0, B: 124, A: 255},
			color.RGBA{R: 255, G: 158, B: 100, A: 255},
			color.RGBA{R: 157, G: 124, B: 216, A: 255},
			color.RGBA{R: 247, G: 118, B: 142, A: 255},
			color.RGBA{R: 219, G: 75, B: 75, A: 255},
			color.RGBA{R: 26, G: 188, B: 156, A: 255},
			color.RGBA{R: 65, G: 72, B: 104, A: 255},
			color.RGBA{R: 224, G: 175, B: 104, A: 255},
		},
	}

	Tokyo_Dark = Theme{
		Name: "Tokyo-dark",
		Colors: []color.Color{
			color.RGBA{R: 26, G: 27, B: 38, A: 255},
			color.RGBA{R: 22, G: 22, B: 30, A: 255},
			color.RGBA{R: 41, G: 46, B: 66, A: 255},
			color.RGBA{R: 192, G: 202, B: 245, A: 255},
			color.RGBA{R: 169, G: 177, B: 214, A: 255},
			color.RGBA{R: 59, G: 66, B: 97, A: 255},
			color.RGBA{R: 122, G: 162, B: 247, A: 255},
			color.RGBA{R: 61, G: 89, B: 161, A: 255},
			color.RGBA{R: 42, G: 195, B: 222, A: 255},
			color.RGBA{R: 13, G: 185, B: 215, A: 255},
			color.RGBA{R: 137, G: 221, B: 255, A: 255},
			color.RGBA{R: 180, G: 249, B: 248, A: 255},
			color.RGBA{R: 57, G: 75, B: 112, A: 255},
			color.RGBA{R: 86, G: 95, B: 137, A: 255},
			color.RGBA{R: 125, G: 207, B: 255, A: 255},
			color.RGBA{R: 84, G: 92, B: 126, A: 255},
			color.RGBA{R: 115, G: 122, B: 162, A: 255},
			color.RGBA{R: 158, G: 206, B: 106, A: 255},
			color.RGBA{R: 115, G: 218, B: 202, A: 255},
			color.RGBA{R: 65, G: 166, B: 181, A: 255},
			color.RGBA{R: 187, G: 154, B: 247, A: 255},
			color.RGBA{R: 255, G: 0, B: 124, A: 255},
			color.RGBA{R: 255, G: 158, B: 100, A: 255},
			color.RGBA{R: 157, G: 124, B: 216, A: 255},
			color.RGBA{R: 247, G: 118, B: 142, A: 255},
			color.RGBA{R: 219, G: 75, B: 75, A: 255},
			color.RGBA{R: 26, G: 188, B: 156, A: 255},
			color.RGBA{R: 65, G: 72, B: 104, A: 255},
			color.RGBA{R: 224, G: 175, B: 104, A: 255},
		},
	}

	Cyberpunk = Theme{
		Name: "Cyber-punk",
		Colors: []color.Color{
			color.RGBA{R: 0, G: 0, B: 0, A: 255},
			color.RGBA{R: 255, G: 0, B: 255, A: 255},
			color.RGBA{R: 255, G: 255, B: 0, A: 255},
			color.RGBA{R: 0, G: 255, B: 255, A: 255},
			color.RGBA{R: 0, G: 255, B: 0, A: 255},
			color.RGBA{R: 255, G: 0, B: 0, A: 255},
			color.RGBA{R: 0, G: 0, B: 255, A: 255},
			color.RGBA{R: 255, G: 165, B: 0, A: 255},
			color.RGBA{R: 75, G: 0, B: 130, A: 255},
			color.RGBA{R: 238, G: 130, B: 238, A: 255},
			color.RGBA{R: 135, G: 206, B: 235, A: 255},
			color.RGBA{R: 255, G: 105, B: 180, A: 255},
			color.RGBA{R: 139, G: 0, B: 255, A: 255},
			color.RGBA{R: 255, G: 20, B: 147, A: 255},
			color.RGBA{R: 0, G: 128, B: 128, A: 255},
			color.RGBA{R: 255, G: 0, B: 255, A: 255},
			color.RGBA{R: 0, G: 0, B: 139, A: 255},
			color.RGBA{R: 255, G: 69, B: 0, A: 255},
			color.RGBA{R: 64, G: 224, B: 208, A: 255},
			color.RGBA{R: 186, G: 85, B: 211, A: 255},
			color.RGBA{R: 255, G: 182, B: 193, A: 255},
		},
	}

	NightOwl = Theme{
		Name: "Night-owl",
		Colors: []color.Color{
			color.RGBA{R: 0, G: 43, B: 54, A: 255},
			color.RGBA{R: 7, G: 54, B: 66, A: 255},
			color.RGBA{R: 88, G: 110, B: 117, A: 255},
			color.RGBA{R: 101, G: 123, B: 131, A: 255},
			color.RGBA{R: 147, G: 161, B: 161, A: 255},
			color.RGBA{R: 203, G: 75, B: 22, A: 255},
			color.RGBA{R: 88, G: 110, B: 117, A: 255},
			color.RGBA{R: 39, G: 150, B: 135, A: 255},
			color.RGBA{R: 0, G: 113, B: 133, A: 255},
			color.RGBA{R: 211, G: 54, B: 130, A: 255},
			color.RGBA{R: 131, G: 148, B: 150, A: 255},
			color.RGBA{R: 52, G: 101, B: 36, A: 255},
			color.RGBA{R: 229, G: 229, B: 229, A: 255},
			color.RGBA{R: 191, G: 97, B: 106, A: 255},
			color.RGBA{R: 236, G: 139, B: 67, A: 255},
			color.RGBA{R: 85, G: 139, B: 47, A: 255},
			color.RGBA{R: 102, G: 120, B: 105, A: 255},
			color.RGBA{R: 0, G: 128, B: 128, A: 255},
			color.RGBA{R: 240, G: 232, B: 196, A: 255},
			color.RGBA{R: 124, G: 45, B: 75, A: 255},
		},
	}

	GitHubLight = Theme{
		Name: "GitHub-Light",
		Colors: []color.Color{
			color.RGBA{R: 255, G: 255, B: 255, A: 255},
			color.RGBA{R: 243, G: 243, B: 243, A: 255},
			color.RGBA{R: 235, G: 235, B: 235, A: 255},
			color.RGBA{R: 189, G: 189, B: 189, A: 255},
			color.RGBA{R: 102, G: 102, B: 102, A: 255},
			color.RGBA{R: 81, G: 81, B: 81, A: 255},
			color.RGBA{R: 0, G: 0, B: 0, A: 255},
			color.RGBA{R: 69, G: 69, B: 69, A: 255},
			color.RGBA{R: 238, G: 0, B: 0, A: 255},
			color.RGBA{R: 255, G: 153, B: 51, A: 255},
			color.RGBA{R: 34, G: 139, B: 34, A: 255},
			color.RGBA{R: 0, G: 0, B: 255, A: 255},
			color.RGBA{R: 148, G: 0, B: 211, A: 255},
			color.RGBA{R: 75, G: 0, B: 130, A: 255},
			color.RGBA{R: 102, G: 51, B: 153, A: 255},
			color.RGBA{R: 204, G: 204, B: 204, A: 255},
			color.RGBA{R: 170, G: 170, B: 170, A: 255},
			color.RGBA{R: 120, G: 120, B: 120, A: 255},
			color.RGBA{R: 170, G: 119, B: 204, A: 255},
			color.RGBA{R: 255, G: 69, B: 0, A: 255},
			color.RGBA{R: 255, G: 105, B: 180, A: 255},
			color.RGBA{R: 153, G: 204, B: 255, A: 255},
		},
	}

	RosePine = Theme{
		Name: "RosePine",
		Colors: []color.Color{
			color.RGBA{R: 25, G: 23, B: 36, A: 255},
			color.RGBA{R: 31, G: 29, B: 46, A: 255},
			color.RGBA{R: 38, G: 35, B: 58, A: 255},
			color.RGBA{R: 110, G: 106, B: 134, A: 255},
			color.RGBA{R: 144, G: 140, B: 170, A: 255},
			color.RGBA{R: 224, G: 222, B: 244, A: 255},
			color.RGBA{R: 235, G: 111, B: 146, A: 255},
			color.RGBA{R: 246, G: 193, B: 119, A: 255},
			color.RGBA{R: 235, G: 188, B: 186, A: 255},
			color.RGBA{R: 49, G: 116, B: 143, A: 255},
			color.RGBA{R: 156, G: 207, B: 216, A: 255},
			color.RGBA{R: 196, G: 167, B: 231, A: 255},
			color.RGBA{R: 33, G: 32, B: 46, A: 255},
			color.RGBA{R: 64, G: 61, B: 82, A: 255},
			color.RGBA{R: 82, G: 79, B: 103, A: 255},
		},
	}

	Kanagawa = Theme{
		Name: "Kanagawa",
		Colors: []color.Color{
			color.RGBA{R: 101, G: 133, B: 148, A: 255},
			color.RGBA{R: 156, G: 171, B: 202, A: 255},
			color.RGBA{R: 255, G: 93, B: 98, A: 255},
			color.RGBA{R: 192, G: 163, B: 110, A: 255},
			color.RGBA{R: 230, G: 195, B: 132, A: 255},
			color.RGBA{R: 106, G: 149, B: 137, A: 255},
			color.RGBA{R: 255, G: 160, B: 102, A: 255},
			color.RGBA{R: 152, G: 187, B: 108, A: 255},
			color.RGBA{R: 228, G: 104, B: 118, A: 255},
			color.RGBA{R: 127, G: 180, B: 202, A: 255},
			color.RGBA{R: 149, G: 127, B: 184, A: 255},
			color.RGBA{R: 126, G: 156, B: 216, A: 255},
			color.RGBA{R: 122, G: 168, B: 159, A: 255},
			color.RGBA{R: 210, G: 126, B: 153, A: 255},
			color.RGBA{R: 232, G: 36, B: 36, A: 255},
			color.RGBA{R: 147, G: 138, B: 169, A: 255},
			color.RGBA{R: 45, G: 79, B: 103, A: 255},
			color.RGBA{R: 45, G: 79, B: 103, A: 255},
			color.RGBA{R: 34, G: 50, B: 73, A: 255},
			color.RGBA{R: 114, G: 113, B: 105, A: 255},
			color.RGBA{R: 220, G: 215, B: 186, A: 255},
			color.RGBA{R: 22, G: 22, B: 29, A: 255},
			color.RGBA{R: 30, G: 31, B: 40, A: 255},
			color.RGBA{R: 42, G: 42, B: 55, A: 255},
			color.RGBA{R: 54, G: 54, B: 70, A: 255},
			color.RGBA{R: 84, G: 84, B: 109, A: 255},
		},
	}

	Latte = Theme{
		Name: "cat-latte",
		Colors: []color.Color{
			color.RGBA{R: 220, G: 138, B: 120, A: 255},
			color.RGBA{R: 221, G: 120, B: 120, A: 255},
			color.RGBA{R: 234, G: 118, B: 203, A: 255},
			color.RGBA{R: 136, G: 57, B: 239, A: 255},
			color.RGBA{R: 210, G: 15, B: 57, A: 255},
			color.RGBA{R: 230, G: 69, B: 83, A: 255},
			color.RGBA{R: 254, G: 100, B: 11, A: 255},
			color.RGBA{R: 223, G: 142, B: 29, A: 255},
			color.RGBA{R: 64, G: 160, B: 43, A: 255},
			color.RGBA{R: 23, G: 146, B: 153, A: 255},
			color.RGBA{R: 4, G: 165, B: 229, A: 255},
			color.RGBA{R: 32, G: 159, B: 181, A: 255},
			color.RGBA{R: 30, G: 102, B: 245, A: 255},
			color.RGBA{R: 114, G: 135, B: 253, A: 255},
			color.RGBA{R: 76, G: 79, B: 105, A: 255},
			color.RGBA{R: 92, G: 95, B: 119, A: 255},
			color.RGBA{R: 108, G: 111, B: 133, A: 255},
			color.RGBA{R: 124, G: 127, B: 147, A: 255},
			color.RGBA{R: 140, G: 143, B: 161, A: 255},
			color.RGBA{R: 156, G: 160, B: 176, A: 255},
			color.RGBA{R: 172, G: 176, B: 190, A: 255},
			color.RGBA{R: 188, G: 192, B: 204, A: 255},
			color.RGBA{R: 204, G: 208, B: 218, A: 255},
			color.RGBA{R: 239, G: 241, B: 245, A: 255},
			color.RGBA{R: 230, G: 233, B: 239, A: 255},
			color.RGBA{R: 220, G: 224, B: 232, A: 255},
		},
	}
	Frappe = Theme{
		Name: "cat-frappe",
		Colors: []color.Color{
			color.RGBA{R: 242, G: 213, B: 207, A: 255},
			color.RGBA{R: 238, G: 190, B: 190, A: 255},
			color.RGBA{R: 244, G: 184, B: 228, A: 255},
			color.RGBA{R: 202, G: 158, B: 230, A: 255},
			color.RGBA{R: 231, G: 130, B: 132, A: 255},
			color.RGBA{R: 234, G: 153, B: 156, A: 255},
			color.RGBA{R: 239, G: 159, B: 118, A: 255},
			color.RGBA{R: 229, G: 200, B: 144, A: 255},
			color.RGBA{R: 166, G: 209, B: 137, A: 255},
			color.RGBA{R: 129, G: 200, B: 190, A: 255},
			color.RGBA{R: 153, G: 209, B: 219, A: 255},
			color.RGBA{R: 133, G: 193, B: 220, A: 255},
			color.RGBA{R: 140, G: 170, B: 238, A: 255},
			color.RGBA{R: 186, G: 187, B: 241, A: 255},
			color.RGBA{R: 198, G: 208, B: 245, A: 255},
			color.RGBA{R: 181, G: 191, B: 226, A: 255},
			color.RGBA{R: 165, G: 173, B: 206, A: 255},
			color.RGBA{R: 148, G: 156, B: 187, A: 255},
			color.RGBA{R: 131, G: 139, B: 167, A: 255},
			color.RGBA{R: 115, G: 121, B: 148, A: 255},
			color.RGBA{R: 98, G: 104, B: 128, A: 255},
			color.RGBA{R: 81, G: 87, B: 109, A: 255},
			color.RGBA{R: 65, G: 69, B: 89, A: 255},
			color.RGBA{R: 48, G: 52, B: 70, A: 255},
			color.RGBA{R: 41, G: 44, B: 60, A: 255},
			color.RGBA{R: 35, G: 38, B: 52, A: 255},
		},
	}

	Melange_Light = Theme{
		Name: "melange-light",
		Colors: []color.Color{
			color.RGBA{R: 250, G: 248, B: 245, A: 255},
			color.RGBA{R: 92, G: 84, B: 119, A: 255},
			color.RGBA{R: 204, G: 102, B: 102, A: 255},
			color.RGBA{R: 222, G: 147, B: 95, A: 255},
			color.RGBA{R: 240, G: 198, B: 116, A: 255},
			color.RGBA{R: 181, G: 189, B: 104, A: 255},
			color.RGBA{R: 129, G: 162, B: 190, A: 255},
			color.RGBA{R: 178, G: 148, B: 187, A: 255},
			color.RGBA{R: 150, G: 152, B: 150, A: 255},
			color.RGBA{R: 197, G: 200, B: 198, A: 255},
			color.RGBA{R: 137, G: 138, B: 154, A: 255},
			color.RGBA{R: 234, G: 232, B: 229, A: 255},
		},
	}
	Melange_Dark = Theme{
		Name: "melange-dark",
		Colors: []color.Color{
			color.RGBA{R: 37, G: 37, B: 48, A: 255},
			color.RGBA{R: 239, G: 241, B: 245, A: 255},
			color.RGBA{R: 233, G: 137, B: 137, A: 255},
			color.RGBA{R: 228, G: 183, B: 129, A: 255},
			color.RGBA{R: 238, G: 212, B: 149, A: 255},
			color.RGBA{R: 167, G: 192, B: 128, A: 255},
			color.RGBA{R: 140, G: 170, B: 238, A: 255},
			color.RGBA{R: 184, G: 161, B: 227, A: 255},
			color.RGBA{R: 101, G: 107, B: 131, A: 255},
			color.RGBA{R: 75, G: 80, B: 104, A: 255},
			color.RGBA{R: 149, G: 156, B: 189, A: 255},
			color.RGBA{R: 52, G: 58, B: 74, A: 255},
		},
	}

	PaleNight = Theme{
		Name: "PaleNight",
		Colors: []color.Color{
			color.RGBA{R: 41, G: 45, B: 62, A: 1},
			color.RGBA{R: 149, G: 157, B: 203, A: 1},
			color.RGBA{R: 103, G: 110, B: 149, A: 1},
			color.RGBA{R: 195, G: 232, B: 141, A: 1},
			color.RGBA{R: 255, G: 83, B: 112, A: 1},
			color.RGBA{R: 247, G: 140, B: 108, A: 1},
			color.RGBA{R: 255, G: 203, B: 107, A: 1},
			color.RGBA{R: 195, G: 232, B: 141, A: 1},
			color.RGBA{R: 130, G: 170, B: 255, A: 1},
			color.RGBA{R: 199, G: 146, B: 234, A: 1},
		},
	}
)

Functions

func CreateGif added in v0.2.0

func CreateGif(files []imageio.ImageIO, opts ...GifOption) error

func GetThemeColors added in v0.1.7

func GetThemeColors(theme string) ([]string, error)

returns the colors of the theme in hex code format

func HexToRGBA added in v0.1.8

func HexToRGBA(hexStr string) (color.RGBA, error)

func HexToRGBASlice added in v0.2.0

func HexToRGBASlice(hexColors []string) ([]color.Color, error)

func ListThemes added in v0.1.1

func ListThemes() []string

func LoadCustomThemes added in v0.2.1

func LoadCustomThemes()

func NearestNeighbour added in v0.2.0

func NearestNeighbour(img image.Image, theme Theme) (image.Image, error)

func OpenImageInViewer added in v0.2.1

func OpenImageInViewer(filePath string) error

Opens the image on the default viewing application of every operating system. or in the terminal for kitty,wezterm,ghostty and konsole

func ProcessImgs added in v0.2.1

func ProcessImgs(processor ImageProcessor, imageOps []imageio.ImageIO, theme string) ([]string, error)

Processes the image depending on a processor that impliments the "ImageProcessor" interface.

func RGBtoHex added in v0.1.7

func RGBtoHex(c color.RGBA) string

Types

type BackgroundProcessor added in v0.1.9

type BackgroundProcessor struct {
	// contains filtered or unexported fields
}

impliments the ImageProcessor interface

func (*BackgroundProcessor) Process added in v0.1.9

func (p *BackgroundProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

func (*BackgroundProcessor) SetOptions added in v0.1.9

func (p *BackgroundProcessor) SetOptions(options ...BgOption)

Available options : WithMaxIter,WithConvergence,WithSampleRate,WithNumRoutines

type BgOption added in v0.1.9

type BgOption func(*BgOptions)

func WithConvergence added in v0.1.9

func WithConvergence(conv float64) BgOption

func WithMaxIter added in v0.1.9

func WithMaxIter(maxIter int) BgOption

func WithNumRoutines added in v0.1.9

func WithNumRoutines(numRoutines int) BgOption

func WithSampleRate added in v0.1.9

func WithSampleRate(sampleRate float64) BgOption

type BgOptions added in v0.1.9

type BgOptions struct {
	MaxIter     int
	Convergence float64
	SampleRate  float64
	NumRoutines int
}

Options with the functional options pattern so you can pick options and set defaults

type BorderProcessor added in v0.2.1

type BorderProcessor struct {
	Color           color.RGBA
	BorderThickness int
}

func (*BorderProcessor) Process added in v0.2.1

func (b *BorderProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type BrightnessProcessor added in v0.2.0

type BrightnessProcessor struct {
	Factor float64
}

func (*BrightnessProcessor) Process added in v0.2.0

func (p *BrightnessProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type Cluster added in v0.1.9

type Cluster struct {
	Centroid Point
	Points   []Point
}

type CompressionOption added in v0.2.2

type CompressionOption func(*CompressionOptions)

func WithQuality added in v0.2.2

func WithQuality(quality int) CompressionOption

func WithSpeed added in v0.2.2

func WithSpeed(speed int) CompressionOption

func WithStrategy added in v0.2.2

func WithStrategy(strategy string) CompressionOption

type CompressionOptions added in v0.2.2

type CompressionOptions struct {
	Quality  int
	Speed    int
	Strategy string // Name of the backend to use
}

Options with the functional options pattern so you can pick options and set defaults

type CompressionProcessor added in v0.2.2

type CompressionProcessor struct {
	// contains filtered or unexported fields
}

func NewCompressionProcessor added in v0.2.2

func NewCompressionProcessor(opts ...CompressionOption) *CompressionProcessor

NewCompressionProcessor creates a new compression processor with default strategies

func (*CompressionProcessor) GetAllStrategiesNames added in v0.2.2

func (p *CompressionProcessor) GetAllStrategiesNames() []string

GetAllStrategies returns all available strategy names (without format suffix)

func (*CompressionProcessor) GetDefaultStrategyNameForFormat added in v0.2.2

func (p *CompressionProcessor) GetDefaultStrategyNameForFormat(format string) (string, error)

GetDefaultStrategyNameForFormat returns the default strategy name for a format

func (*CompressionProcessor) GetStrategies added in v0.2.2

func (p *CompressionProcessor) GetStrategies() map[string]func(quality int, speed int) (CompressionStrategy, error)

GetStrategies returns all available strategies

func (*CompressionProcessor) GetStrategy added in v0.2.2

func (p *CompressionProcessor) GetStrategy(format string) (CompressionStrategy, error)

func (*CompressionProcessor) Process added in v0.2.2

func (p *CompressionProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

Process implements the ImageProcessor interface (updated to include format)

type CompressionStrategy added in v0.2.2

type CompressionStrategy interface {
	Compress(img image.Image) (image.Image, types.ImageMetadata, error)
	GetFormat() string
}

type ExtractProcessor added in v0.2.1

type ExtractProcessor struct {
	NumOfColors int
}

func (*ExtractProcessor) Process added in v0.2.1

func (e *ExtractProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type FlipProcessor added in v0.2.0

type FlipProcessor struct{}

func (*FlipProcessor) Process added in v0.2.0

func (p *FlipProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type GifOption added in v0.2.0

type GifOption func(*GifOptions)

func WithDelay added in v0.2.0

func WithDelay(delay int) GifOption

func WithLoop added in v0.2.0

func WithLoop(LoopForever int) GifOption

func WithMode added in v0.2.1

func WithMode(mode int) GifOption

func WithOutputName added in v0.2.0

func WithOutputName(name string) GifOption

type GifOptions added in v0.2.0

type GifOptions struct {
	Loop  int // 0 loops forever, -1 shows the frames only once, anything else loop+1
	Delay int // Delay in 100ths of a second between frames
	Mode  int // Resize (0) NoResize (1) for resizing all images to same dimensions
	// contains filtered or unexported fields
}

type GrayScaleProcessor added in v0.2.0

type GrayScaleProcessor struct{}

func (*GrayScaleProcessor) Process added in v0.2.0

func (p *GrayScaleProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type GridOption added in v0.2.1

type GridOption func(*GridOptions)

func WithGridColor added in v0.2.1

func WithGridColor(gridColor string) GridOption

func WithGridSize added in v0.2.1

func WithGridSize(gridsize int) GridOption

func WithGridThickness added in v0.2.1

func WithGridThickness(gridThickness int) GridOption

func WithMaskonly added in v0.2.1

func WithMaskonly(maskOnly bool) GridOption

type GridOptions added in v0.2.1

type GridOptions struct {
	GridSize      int
	GridColor     color.RGBA
	GridThickness int
	MaskOnly      bool
}

type GridProcessor added in v0.2.1

type GridProcessor struct {
	// contains filtered or unexported fields
}

func (*GridProcessor) Process added in v0.2.1

func (g *GridProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

func (*GridProcessor) SetGridOptions added in v0.2.1

func (g *GridProcessor) SetGridOptions(options ...GridOption)

Available options : WithGridSize,WithGridColor,WithGridThickness,WithMaskonly

type ImageProcessor

type ImageProcessor interface {
	Process(image.Image, string, string) (image.Image, types.ImageMetadata, error)
}

Create a Processor of this interface and call 'ProcessImg'

type Inverter

type Inverter struct {
}

func (*Inverter) Process

func (Invrt *Inverter) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type MirrorProcessor added in v0.2.0

type MirrorProcessor struct{}

func (*MirrorProcessor) Process added in v0.2.0

func (p *MirrorProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type NoOpImageProcessor added in v0.1.8

type NoOpImageProcessor struct{}

NoOpImageProcessor implements ImageProcessor but does nothing. Its used to just to convert images from one format to another without altering them.

Example from "img.webp" --> "img.png"

func (*NoOpImageProcessor) Process added in v0.1.8

func (p *NoOpImageProcessor) Process(img image.Image, options string, format string) (image.Image, types.ImageMetadata, error)

Implement the Process method

type PixelateProcessor added in v0.1.9

type PixelateProcessor struct {
	Scale float64
}

func (*PixelateProcessor) Process added in v0.1.9

func (p *PixelateProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type Point added in v0.1.9

type Point struct {
	R, G, B float64
}

type ReplaceProcessor added in v0.1.9

type ReplaceProcessor struct {
	FromColor string
	ToColor   string
	Threshold float64
}

func (*ReplaceProcessor) Process added in v0.1.9

func (r *ReplaceProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type Theme

type Theme struct {
	Name   string
	Colors []color.Color
}

func SelectTheme

func SelectTheme(theme string) (Theme, error)

type ThemeConverter

type ThemeConverter struct{}

func (*ThemeConverter) Process

func (themeConv *ThemeConverter) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

type UpscaleProcessor added in v0.2.0

type UpscaleProcessor struct {
	Scale     int
	ModelName string
}

func (*UpscaleProcessor) Process added in v0.2.0

func (p *UpscaleProcessor) Process(img image.Image, theme string, format string) (image.Image, types.ImageMetadata, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL