Home

Awesome

React Avatar Generator

This was inspired by an old website called LayerVault. You can see an example of how that used to look like here.

Getting Started

Example Usage

<AvatarGenerator
  colors={['#333', '#222', '#ccc']}
  backgroundColor="#000"
/>

This creates something like this:

<img src="https://i.ibb.co/vDg9Trb/Screenshot-2019-01-10-at-04-34-51.png" width="100" />

With a little playing around with this component I found it quite easy to make something similar to what LayerVault originally had.

<img src="https://i.ibb.co/0XmmV0s/Screen-Recording-2019-01-10-at-04-33-23.gif" width="500" />

Props

proptypedefaultoptions
widthnumber200
heightnumber200
mirrorsnumber3
zoomnumber0.2
rotationnumber0.3
fadenumber1
opacitynumber0.3
amountnumber16
spacingnumber20
wavelengthnumber2
sizingnumber4
shapestring'circle'can be circle, triangle or square
backgroundColorstring'#fff'
backgroundOpacitynumber0.3
colorsarray[]

Methods

proptypedescription
randomizefunctionRandomizes the kaleidoscope to have a new random pattern
isValidHexfunctionPassing in a string will return true of false if that string is a valid hex, a helpful function to have when working with colors
getImageDatafunctionCalling this function returns the raw image/png data you can then use to save into a .png file.

Using Methods

class CustomAvatarGenerator extends React.Component {
  constructor(props) {
    super(props);
    this.avatarGenerator = null;
  }
  
  randomize() {
    this.avatarGenerator.randomize();
  }
  
  render() {
    return (
      <div>
        <button onClick={this.randomize}>Randomize</buttom>
        <AvatarGenerator
          ref={(el) => {
            this.avatarGenerator = el;
          }
          colors={['#333', '#222', '#ccc']}
          backgroundColor="#000"
        />
      </div>
    );
  }
}