Skip to content
forked from rrivera/identicon

Open source avatar generator inspired by GitHub avatars.

License

Notifications You must be signed in to change notification settings

ilibs/identicon

 
 

Repository files navigation

IdentIcon

CircleCI Go Report Card

IdentIcon is an open source avatar generator inspired by GitHub avatars.

IdentIcon uses a deterministic algorithm that generates an image (using Golang's stdlib image encoders) based on a text (Generally Usernames, Emails or just random strings), by hashing it and iterating over the bytes of the digest to pick whether to draw a point, pick a color or choose where to go next.

IdentIcon's Generator enables the creation of customized figures: (NxN size, points density, custom color palette) as well as multiple exporting formats in case the developers want to generate their own images.

Installation

$ go get github.com/nullrocks/identicon

Usage

import (
    "os"

    "github.com/nullrocks/identicon"
)

// New Generator: Rehuse 
ig, err := identicon.New(
    "github", // Namespace
    5,        // Number of blocks (Size)
    3,        // Density
)

if err != nil {
    panic(err) // Invalid Size or Density
}

username := "nullrocks"      // Text - decides the resulting figure
ii, err := ig.Draw(username) // Generate an IdentIcon

if err != nil {
    panic(err) // Text is empty
}

// File writer
img, _ := os.Create("icon.png")
defer img.Close()
// Takes the size in pixels and any io.Writer
ii.Png(300, img) // 300px * 300px

Examples

5x5

nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo

7x7

nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo

10x10

nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo
nullrocks johndoe abc123 modulo

View examples

Documentation

Changelog

Contribution

License

MIT

Copyright (c) 2018-present, Ruben Rivera

About

Open source avatar generator inspired by GitHub avatars.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%