Commit 07a980e8 authored by santiaago's avatar santiaago
Browse files

you can now customize the size of the image by setting a size parameter in the...

you can now customize the size of the image by setting a size parameter in the url like /grid/square/2/hello?size=600
fixes #17
parent 953c2f4d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -18,7 +18,8 @@ func Color(w http.ResponseWriter, r *http.Request) {
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		m := image.NewRGBA(image.Rect(0, 0, 240, 240))
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.Grid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m
@@ -29,7 +30,8 @@ func Color(w http.ResponseWriter, r *http.Request) {
// grid6X6Handler is the handler for /grid/
// build a 6x6 grid with alternate black and white colors.
func H6X6(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	size := size(r)
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	color1 := color.RGBA{uint8(255), uint8(255), 255, 255}
	color2 := color.RGBA{uint8(0), uint8(0), 0, 255}
	draw.Grid6X6(m, color1, color2)
+4 −2
Original line number Diff line number Diff line
@@ -13,7 +13,8 @@ import (
// handler for "/gird/random"
// generates a black and white grid random image.
func Random(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	size := size(r)
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	colorMap := colors.MapOfColorPatterns()
	draw.RandomGrid6X6(m, colorMap[0][0], colorMap[0][1])
	var img image.Image = m
@@ -27,7 +28,8 @@ func RandomColor(w http.ResponseWriter, r *http.Request) {
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		m := image.NewRGBA(image.Rect(0, 0, 240, 240))
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.RandomGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m
+18 −2
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ import (
	"io"
	"log"
	"net/http"
	"strconv"
)

// gridColorHandler is the handler for /grid/square/[0-9]+/?
@@ -20,7 +21,8 @@ func Square(w http.ResponseWriter, r *http.Request) {
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		m := image.NewRGBA(image.Rect(0, 0, 240, 240))
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		h := md5.New()
		io.WriteString(h, id)
@@ -39,7 +41,8 @@ func SquareColor(w http.ResponseWriter, r *http.Request) {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		if id, err1 := misc.PermalinkString(r, 4); err1 == nil {
			m := image.NewRGBA(image.Rect(0, 0, 240, 240))
			size := size(r)
			m := image.NewRGBA(image.Rect(0, 0, size, size))
			colorMap := colors.MapOfColorPatterns()
			h := md5.New()
			io.WriteString(h, id)
@@ -52,3 +55,16 @@ func SquareColor(w http.ResponseWriter, r *http.Request) {
		}
	}
}

func size(r *http.Request) int {
	strSize := r.FormValue("size")
	if len(strSize) > 0 {
		if size, errSize := strconv.ParseInt(strSize, 0, 64); errSize == nil {
			isize := int(size)
			if isize > 0 && isize < 1000 {
				return int(size)
			}
		}
	}
	return 240
}
+8 −4
Original line number Diff line number Diff line
@@ -14,7 +14,8 @@ import (
// handler for "/gird/random/symetric/x"
// generates a black and white grid random image.
func RandomSymetricX(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	size := size(r)
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	colorMap := colors.MapOfColorPatterns()
	draw.RandomSymetricInXGrid6X6(m, colorMap[0][0], colorMap[0][1])
	var img image.Image = m
@@ -24,7 +25,8 @@ func RandomSymetricX(w http.ResponseWriter, r *http.Request) {
// handler for "/gird/random/symetric/y"
// generates a black and white grid random image.
func RandomSymetricY(w http.ResponseWriter, r *http.Request) {
	m := image.NewRGBA(image.Rect(0, 0, 240, 240))
	size := size(r)
	m := image.NewRGBA(image.Rect(0, 0, size, size))
	colorMap := colors.MapOfColorPatterns()
	draw.RandomSymetricInYGrid6X6(m, colorMap[0][0], colorMap[0][1])
	var img image.Image = m
@@ -38,7 +40,8 @@ func RandomSymetricYColor(w http.ResponseWriter, r *http.Request) {
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		m := image.NewRGBA(image.Rect(0, 0, 240, 240))
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.RandomSymetricInYGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m
@@ -53,7 +56,8 @@ func RandomSymetricXColor(w http.ResponseWriter, r *http.Request) {
	if err != nil {
		log.Printf("error when extracting permalink id: %v", err)
	} else {
		m := image.NewRGBA(image.Rect(0, 0, 240, 240))
		size := size(r)
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		colorMap := colors.MapOfColorPatterns()
		draw.RandomSymetricInXGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
		var img image.Image = m