Commit 3e0c583d authored by santiaago's avatar santiaago
Browse files

add pkg format in order have a clear format.JPEG or format.SVG.

It seems a bit overkill to have a pkg only for this. This logic might go away in the future...
parent 04a6e8da
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import (
	"github.com/taironas/tinygraphs/colors"
	"github.com/taironas/tinygraphs/draw"
	"github.com/taironas/tinygraphs/extract"
	"github.com/taironas/tinygraphs/format"
	"github.com/taironas/tinygraphs/misc"
	"github.com/taironas/tinygraphs/write"
	"image"
@@ -22,12 +23,12 @@ func Color(w http.ResponseWriter, r *http.Request) {
	} else {
		size := extract.Size(r)
		colorMap := colors.MapOfColorPatterns()
		if format := extract.Format(r); format == extract.JPEG {
		if f := extract.Format(r); f == format.JPEG {
			m := image.NewRGBA(image.Rect(0, 0, size, size))
			draw.Grid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
			var img image.Image = m
			write.ImageJPEG(w, &img)
		} else if format == extract.SVG {
		} else if f == format.SVG {
			canvas := svg.New(w)
			draw.Grid6X6SVG(canvas, colorMap[int(intID)][0], colorMap[int(intID)][1], size)
			write.ImageSVG(w, canvas)
@@ -41,12 +42,12 @@ func Checkerboard(w http.ResponseWriter, r *http.Request) {
	size := extract.Size(r)
	color1 := color.RGBA{uint8(255), uint8(255), 255, 255}
	color2 := color.RGBA{uint8(0), uint8(0), 0, 255}
	if format := extract.Format(r); format == extract.JPEG {
	if f := extract.Format(r); f == format.JPEG {
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		draw.Grid6X6(m, color1, color2)
		var img image.Image = m
		write.ImageJPEG(w, &img)
	} else if format == extract.SVG {
	} else if f == format.SVG {
		canvas := svg.New(w)
		draw.Grid6X6SVG(canvas, color1, color2, size)
		write.ImageSVG(w, canvas)
+5 −4
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import (
	"github.com/taironas/tinygraphs/colors"
	"github.com/taironas/tinygraphs/draw"
	"github.com/taironas/tinygraphs/extract"
	"github.com/taironas/tinygraphs/format"
	"github.com/taironas/tinygraphs/misc"
	"github.com/taironas/tinygraphs/write"
	"image"
@@ -25,12 +26,12 @@ func Random(w http.ResponseWriter, r *http.Request) {
	if err2 != nil {
		fg = colorMap[0][1]
	}
	if format := extract.Format(r); format == extract.JPEG {
	if f := extract.Format(r); f == format.JPEG {
		m := image.NewRGBA(image.Rect(0, 0, size, size))
		draw.RandomGrid6X6(m, bg, fg)
		var img image.Image = m
		write.ImageJPEG(w, &img)
	} else if format == extract.SVG {
	} else if f == format.SVG {
		canvas := svg.New(w)
		draw.RandomGrid6X6SVG(canvas, bg, fg, size)
		write.ImageSVG(w, canvas)
@@ -46,12 +47,12 @@ func RandomColor(w http.ResponseWriter, r *http.Request) {
	} else {
		size := extract.Size(r)
		colorMap := colors.MapOfColorPatterns()
		if format := extract.Format(r); format == extract.JPEG {
		if f := extract.Format(r); f == format.JPEG {
			m := image.NewRGBA(image.Rect(0, 0, size, size))
			draw.RandomGrid6X6(m, colorMap[int(intID)][0], colorMap[int(intID)][1])
			var img image.Image = m
			write.ImageJPEG(w, &img)
		} else if format == extract.SVG {
		} else if f == format.SVG {
			canvas := svg.New(w)
			draw.RandomGrid6X6SVG(canvas, colorMap[int(intID)][0], colorMap[int(intID)][1], size)
			write.ImageSVG(w, canvas)
+5 −4
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ import (
	tgColors "github.com/taironas/tinygraphs/colors"
	"github.com/taironas/tinygraphs/draw"
	"github.com/taironas/tinygraphs/extract"
	"github.com/taironas/tinygraphs/format"
	"github.com/taironas/tinygraphs/misc"
	"github.com/taironas/tinygraphs/write"
	"image"
@@ -50,12 +51,12 @@ func Square(w http.ResponseWriter, r *http.Request) {
			fg = colorMap[0][1]
		}
		size := extract.Size(r)
		if format := extract.Format(r); format == extract.JPEG {
		if f := extract.Format(r); f == format.JPEG {
			m := image.NewRGBA(image.Rect(0, 0, size, size))
			draw.Squares(m, key, bg, fg)
			var img image.Image = m
			write.ImageJPEG(w, &img)
		} else if format == extract.SVG {
		} else if f == format.SVG {
			canvas := svg.New(w)
			draw.SquaresSVG(canvas, key, bg, fg, size)
			write.ImageSVG(w, canvas)
@@ -90,12 +91,12 @@ func Color(w http.ResponseWriter, r *http.Request) {

			size := extract.Size(r)
			colorMap := tgColors.MapOfColorPatterns()
			if format := extract.Format(r); format == extract.JPEG {
			if f := extract.Format(r); f == format.JPEG {
				m := image.NewRGBA(image.Rect(0, 0, size, size))
				draw.Squares(m, key, colorMap[int(colorId)][0], colorMap[int(colorId)][1])
				var img image.Image = m
				write.ImageJPEG(w, &img)
			} else if format == extract.SVG {
			} else if f == format.SVG {
				canvas := svg.New(w)
				draw.SquaresSVG(canvas, key, colorMap[int(colorId)][0], colorMap[int(colorId)][1], size)
				write.ImageSVG(w, canvas)
+5 −11
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ package extract

import (
	"fmt"
	"github.com/taironas/tinygraphs/format"
	"image/color"
	"net/http"
	"strconv"
@@ -43,23 +44,16 @@ func Size(r *http.Request) int {
	return 210
}

type ImgFormat int

const (
	JPEG ImgFormat = iota
	SVG
)

func Format(r *http.Request) ImgFormat {
func Format(r *http.Request) format.Format {
	strFmt := strings.ToLower(r.FormValue("fmt"))
	if len(strFmt) > 0 {
		if strFmt == "svg" {
			return SVG
			return format.SVG
		} else if strFmt == "jpeg" || strFmt == "jpg" {
			return JPEG
			return format.JPEG
		}
	}
	return JPEG
	return format.JPEG
}

// HexToRGB converts an Hex string to a RGB triple.

format/format.go

0 → 100644
+8 −0
Original line number Diff line number Diff line
package format

type Format int

const (
	JPEG Format = iota
	SVG
)