Identicon with variable complexity.
https://github.com/ranvis/identicon/wiki/Samples
BSD 2-Clause License
composer require ranvis/identicon:1.0.*
1.1 or later may have visual incompatibility with 1.0.
1.0.x is fully compatible with 1.0.0.
See CHANGES.md for the details.
use Ranvis\Identicon;
require_once __DIR__ . '/vendor/autoload.php';
//$hash = md5($userId . 'YOUR_RANDOM_SALT_HERE_&ar/1R#S[|=hDF');
$hash = $_GET['hash'] ?? '';
//$hash = isset($_GET['hash']) ? $_GET['hash'] : ''; // PHP 5
if (!preg_match('/\A[0-9a-f]{32}\z/', $hash)) {
http_response_code(404);
exit;
}
$tile = new Identicon\Tile();
$identicon = new Identicon\Identicon(64, $tile);
header('Cache-Control: public, max-age=31556952');
$identicon->draw($hash)->output();
__construct($maxSize, TileInterface $tile, $tiles = 6, $colors = 2, $highQuality = true)
getMinimumHashLength(): int
get number of hex characters required to draw icon.
draw($hash): $this
draw icon to internal buffer.
returns $this.
output($size = null, $compression = -1, $filters = -1): bool
print PNG image to stdout with Content-Type header.
returns true on success.
save($filePath, $size = null, $compression = -1, $filters = -1): bool
save PNG image to file.
returns true on success.
getImage($size = null): resource
get icon image.
returns GD image.