avatar

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2020 License: Apache-2.0 Imports: 18 Imported by: 0

README

A V A T A R

Create avatars based on names. The colors are chosen based on the first character. You can save to disk ToDisk or send back over HTTP ToHTTP.

Example

package main

import (
	"github.com/ae0000/avatar"
)

func main() {
	avatar.ToDisk("AE", "../ae.png")

    // Which is the same as
    avatar.ToDisk("Andrew Edwards", "../ae.png")
}


Example

You can pass in a single character as well

// Single initial as well..
avatar.ToDisk("Jet", "../j.png")

Example

HTTP example

Using go-chi (highly recommended HTTP router)

package main

import (
	"fmt"
	"net/http"
	"strings"

	"github.com/ae0000/avatar"
	"github.com/go-chi/chi"
)

func main() {
	r := chi.NewRouter()

	// Get the png based on the initials, You would use it like this:
	//    <img src="http://localhost:3000/avatar/ae/png" width="150">
	r.Get("/avatar/{initials}.png", func(w http.ResponseWriter, r *http.Request) {
		initials := chi.URLParam(r, "initials")

		avatar.ToHTTP(initials, w)
	})

	http.ListenAndServe(":3000", r)
}

TODO

  • HTTP example
  • Caching
  • Custom colors
  • Add unique colors that are missing (T-Z,0-9)

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Red      = image.Uniform{color.RGBA{230, 25, 75, 255}}
	Green    = image.Uniform{color.RGBA{60, 180, 75, 255}}
	Yellow   = image.Uniform{color.RGBA{255, 225, 25, 255}}
	Blue     = image.Uniform{color.RGBA{0, 130, 200, 255}}
	Orange   = image.Uniform{color.RGBA{245, 130, 48, 255}}
	Purple   = image.Uniform{color.RGBA{145, 30, 180, 255}}
	Cyan     = image.Uniform{color.RGBA{70, 240, 240, 255}}
	Magenta  = image.Uniform{color.RGBA{240, 50, 230, 255}}
	Lime     = image.Uniform{color.RGBA{210, 245, 60, 255}}
	Pink     = image.Uniform{color.RGBA{250, 190, 190, 255}}
	Teal     = image.Uniform{color.RGBA{0, 128, 128, 255}}
	Lavender = image.Uniform{color.RGBA{230, 190, 255, 255}}
	Brown    = image.Uniform{color.RGBA{170, 110, 40, 255}}
	Beige    = image.Uniform{color.RGBA{255, 250, 200, 255}}
	Maroon   = image.Uniform{color.RGBA{128, 0, 0, 255}}
	Mint     = image.Uniform{color.RGBA{170, 255, 195, 255}}
	Olive    = image.Uniform{color.RGBA{128, 128, 0, 255}}
	Coral    = image.Uniform{color.RGBA{255, 215, 180, 255}}
	Navy     = image.Uniform{color.RGBA{0, 0, 128, 255}}
	Grey     = image.Uniform{color.RGBA{128, 128, 128, 255}}
	Gold     = image.Uniform{color.RGBA{251, 184, 41, 255}}
)

Colors for background

Functions

This section is empty.

Types

type Avatar

type Avatar struct {
	FontPath string
	FontSize float64
	Width    int
	Height   int
	Dpi      int
	Spacer   int
	TextX    int
	TextY    int

	FontColor string
	BackColor string
}

func NewAvatar

func NewAvatar() *Avatar

func (*Avatar) ConfigureColor

func (a *Avatar) ConfigureColor(fontColor, backColor string) *Avatar

ConfigureColor configures font and background colors

func (*Avatar) ConfigureFont

func (a *Avatar) ConfigureFont(path string, size float64) *Avatar

ConfigureFont configures font path and font size

func (*Avatar) ConfigurePosition added in v0.0.2

func (a *Avatar) ConfigurePosition(x, y int) *Avatar

ConfigurePosition configures avatar symbols position

func (*Avatar) ConfigureSize

func (a *Avatar) ConfigureSize(width, height int) *Avatar

ConfigureSize configures size of symbols

func (*Avatar) ToDisk

func (a *Avatar) ToDisk(initials, path string) error

ToDisk saves the image to disk

func (*Avatar) ToDiskCustom

func (a *Avatar) ToDiskCustom(initials, path, bgColor, fontColor string) error

ToDiskCustom saves the image to disk

func (*Avatar) ToHTTP

func (a *Avatar) ToHTTP(initials string, w http.ResponseWriter) error

ToHTTP sends the image to a http.ResponseWriter (as a PNG)

func (*Avatar) ToHTTPCustom

func (a *Avatar) ToHTTPCustom(initials, bgColor, fontColor string, w http.ResponseWriter) error

ToHTTPCustom sends the image to a http.ResponseWriter (as a PNG)

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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