patsissons / btc-blockies

<1k library that generates blocky identicons

Home Page:https://btc-blockies.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blockies

A tiny library for generating blocky identicons.

Sample blockies image

Demo page

Browser

import { createIcon } from "@download/blockies";

var icon = createIcon({
  // All options are optional
  seed: "randstring", // seed used to generate icon data, default: random
  color: "#dfe", // to manually specify the icon color, default: random
  bgcolor: "#aaa", // choose a different background color, default: white
  size: 15, // width/height of the icon in blocks, default: 10
  scale: 3, // width/height of each block in pixels, default: 5
});

document.body.appendChild(icon); // icon is a canvas element

In the above example the icon will be 15x15 blocks, and each block will be 3x3 pixels. The icon canvas will be 45x45 pixels.

Node

import { createCanvas } from "canvas";
import { renderIcon } from "@download/blockies";

const canvas = createCanvas(50, 50);

var icon = renderIcon(
  {
    // All options are optional
    seed: "randstring", // seed used to generate icon data, default: random
    color: "#dfe", // to manually specify the icon color, default: random
    bgcolor: "#aaa", // choose a different background color, default: white
    size: 15, // width/height of the icon in blocks, default: 10
    scale: 3, // width/height of each block in pixels, default: 5
  },
  canvas
);

Notes

The defaults of size 10 and scale 5 generate 50x50 pixel icons. Below are some standard sizes that work well. A size larger than 10 will start generating more noisy icons that don't ressemble much.

  • 24x24 {size: 8, scale: 3}
  • 32x32 {size: 8, scale: 4}
  • 48x48 {size: 12, scale: 4}

Alternative Styles

Build

pnpm build

Development

pnpm dev

License

WTFPL

About

<1k library that generates blocky identicons

https://btc-blockies.vercel.app


Languages

Language:JavaScript 100.0%