Commit 22e9b4c5 authored by santiaago's avatar santiaago
Browse files

isogrids with random colors

parent 56141986
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ func main() {
	r.HandleFunc("/isogrids/halfdiagonals/[a-zA-Z0-9]+/?", isogrids.HalfDiagonals)
	r.HandleFunc("/isogrids/gridbw/[a-zA-Z0-9]+/?", isogrids.GridBW)
	r.HandleFunc("/isogrids/grid2colors/[a-zA-Z0-9]+/?", isogrids.Grid2Colors)
	r.HandleFunc("/isogrids/grid2colorsrandom/[a-zA-Z0-9]+/?", isogrids.Grid2ColorsRandom)
	r.HandleFunc("/isogrids/random/[0-8]+/?", isogrids.RandomColor)
	r.HandleFunc("/isogrids/random/[a-zA-Z0-9]+/?", isogrids.Random)
	r.HandleFunc("/isogrids/[a-zA-Z0-9]+/?", isogrids.Isogrids)

	r.AddStaticResource(root)
+21 −2
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ func Grid2Colors(w http.ResponseWriter, r *http.Request) {
	}
}

func Grid2ColorsRandom(w http.ResponseWriter, r *http.Request) {
func Random(w http.ResponseWriter, r *http.Request) {

	if id, err := misc.PermalinkString(r, 3); err != nil {
		log.Printf("error when extracting permalink id: %v", err)
@@ -182,6 +182,25 @@ func Grid2ColorsRandom(w http.ResponseWriter, r *http.Request) {
		}
		size := extract.Size(r)
		write.ImageSVG(w)
		draw.IsogridsRandom2Colors(w, key, bg, fg, size)
		draw.IsogridsRandom(w, key, bg, fg, size)
	}
}

func RandomColor(w http.ResponseWriter, r *http.Request) {
	if id, err := misc.PermalinkID(r, 3); err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		colorMap := tgColors.MapOfColorPatterns()
		bg, err1 := extract.Background(r)
		if err1 != nil {
			bg = colorMap[int(id)][0]
		}
		fg, err2 := extract.Foreground(r)
		if err2 != nil {
			fg = colorMap[int(id)][1]
		}
		size := extract.Size(r)
		write.ImageSVG(w)
		draw.IsogridsRandom(w, "", bg, fg, size)
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ func Isogrids2Colors(w http.ResponseWriter, key string, color1, color2 color.RGB
}

// Isogrids builds an image with 10x10 grids of half diagonals
func IsogridsRandom2Colors(w http.ResponseWriter, key string, color1, color2 color.RGBA, size int) {
func IsogridsRandom(w http.ResponseWriter, key string, color1, color2 color.RGBA, size int) {
	canvas := svg.New(w)
	size = 400
	canvas.Start(size, size)