func UTF8(img image.Image, trans Transformer) []string {
	if trans != nil {
		img = trans(img)
	}
	bounds := img.Bounds()
	termimg := make([]string, (bounds.Dy()/2)+1, (bounds.Dy()/2)+1)
	rownum := 0
	for i := 0; i < bounds.Dy(); i += 2 {
		row := ""
		for j := 0; j < bounds.Dx(); j++ {
			colortop := terminal.FindColorCode(img.At(j, i))
			colorbottom := terminal.FindColorCode(img.At(j, i+1))
			if colortop == colorbottom {
				if colortop > 0 {
					row += terminal.Bg(colortop, space)
				} else {
					row += terminal.Reset + space
				}
			} else {
				if colortop > 0 && colorbottom > 0 {
					row += terminal.Bg(colorbottom, terminal.Fg(colortop, top))
				} else if colortop > 0 && colorbottom == 0 {
					row += terminal.Reset + terminal.Fg(colortop, top)
				} else if colortop == 0 && colorbottom > 0 {
					row += terminal.Reset + terminal.Fg(colorbottom, bottom)
				}
			}
		}
		termimg[rownum] = row + terminal.Reset
		rownum++
	}
	return termimg
}
Converts image.Image img to a []string of 256 color terminal compatbile
UTF8 using UTF8 1/2 blocks as a "pixel".  Applies Transformer trans to img
before conversion
package gotermimg
import (
	"fmt"
	"image"
	"github.com/moshen/gotermimg/terminal"
)
type Converter func(image.Image, Transformer) []string
const (
	space  = " "
	spaces = "  "
	top    = "▀"
	bottom = "▄"
)
func ANSI(img image.Image, trans Transformer) []string {
	if trans != nil {
		img = trans(img)
	}
	bounds := img.Bounds()
	termimg := make([]string, bounds.Dy(), bounds.Dy())
	for i := 0; i < bounds.Dy(); i++ {
		row := ""
		local := ""
		curcolor := terminal.ColorCode(0)
		for j := 0; j < bounds.Dx(); j++ {
			newcolor := terminal.FindColorCode(img.At(j, i))
			if newcolor != curcolor {
				if curcolor > 0 {
					row += terminal.Bg(curcolor, local)
				} else {
					row += terminal.Reset + local
				}
				curcolor = newcolor
				local = ""
			}
			local += spaces
		}
		if curcolor > 0 {
			row += terminal.Bg(curcolor, local)
		} else {
			row += terminal.Reset + local
		}
		termimg[i] = row + terminal.Reset
	}
	return termimg
}