function add_user_avatar($user_id) { //get user details $userData = get_userdata($user_id); $userEmail = $userData->user_email; $hash = md5($userEmail); $avatarImage = imagecreate(100, 100); $background = imagecolorallocate($avatarImage, hexdec(substr($hash, 0, 2)), hexdec(substr($hash, 2, 2)), hexdec(substr($hash, 4, 2))); $imageData = createBase64FromImageResource($avatarImage); $src = 'data: image/png;base64,' . $imageData; add_user_meta($user_id, '_avatar_image', $src, true); }
<?php function createBase64FromImageResource($imgResource) { ob_start(); imagepng($imgResource); $imgData = ob_get_contents(); ob_end_clean(); return base64_encode($imgData); } if (isset($_POST['username'])) { $username = $_POST['username']; $hash = md5($username); $avatarImage = imagecreate(250, 250); $background = imagecolorallocate($avatarImage, hexdec(substr($hash, 0, 2)), hexdec(substr($hash, 2, 2)), hexdec(substr($hash, 4, 2))); $imageData = createBase64FromImageResource($avatarImage); $src = 'data: image/png;base64,' . $imageData; print '<img src="' . $src . '">'; } else { ?> <html> <head> <title>Avatar Generation</title> </head> <body> <form action='#' method='post'> <input type='text' name='username'> <input type='submit'> </form> </body> </html>