Identicon is a library which generate an identicon image based on a string.
Here is some examples of awesome results!
The recommended way to install Identicon is through composer.
Just create a composer.json
file for your project:
{
"require": {
"yzalis/identicon": "*"
}
}
And run these two commands to install it:
$ wget http://getcomposer.org/composer.phar
$ php composer.phar install
Now you can add the autoloader, and you will have access to the library:
<?php
require 'vendor/autoload.php';
If you don't use either Composer or a ClassLoader in your application, just require the provided autoloader:
<?php
require_once 'src/autoload.php';
You're done.
Images are generated in PNG format with transparent background.
The string can be an email, an IP address, a username, an ID or something else.
Create a new Identicon
object.
$identicon = new Identicon();
Then you can generate and display an identicon image
$identicon->displayImage('foo');
or generate and get the image data
$imageData = $identicon->getImageData('bar');
or generate and get the base 64 image uri ready for integrate into an HTML img tag.
$imageDataUri = $identicon->getImageDataUri('bar');
<img src="<?php echo $imageDataUri; ?>" alt="bar Identicon" />
By default the size will be 64 pixels. If you want to change the image size just add a secondary parameter. 512 x 512px in this example.
$identicon->displayImage('foo', 512);
The color is automaticaly generated according to the string hash but you can chose to specify a color by adding a third argument.
Color can be an hexadecimal with 6 characters
$identicon->displayImage('bar', 64, 'A87EDF');
or an array with red, green, blue value
$identicon->displayImage('foo', 64, array(200, 100, 150));
That's it!
To run unit tests, you'll need and a set of dependencies you can install using Composer:
php composer.phar install
Once installed, just launch the following command:
phpunit
Everythings should be ok.
- Benjamin Laugueux [email protected]
- All contributors
Inspired by Github blog post about Identicon.
Identicon is released under the MIT License. See the bundled LICENSE file for details.