AnsPress_Avatar::generate()
Description #
Function to generate letter avatar
Source #
File: addons/free/avatar.php
public function generate() {
if ( ! function_exists( 'imagecreatetruecolor' ) || $this->avatar_exists() ) {
return;
}
$font = ap_get_theme_location( 'avatar-fonts/' . ap_opt( 'avatar_font' ) . '.ttf' );
$words = explode( ' ', $this->name );
$text = '';
foreach ( $words as $w ) {
$text .= strtoupper( $w[0] );
}
$text = preg_replace( '~^(&([a-zA-Z0-9]);)~', htmlentities( '${1}' ), $text );
// Convert hex code to RGB.
$text_color = $this->hex_to_rgb( $this->text_color );
$im = imagecreatetruecolor( 90, 90 );
$text_color = imagecolorallocate( $im, $text_color['r'], $text_color['g'], $text_color['b'] );
// Random background Colors.
$color_key = array_rand( $this->colors );
$bg_color = $this->colors[ $color_key ];
$this->image_gradientrect( $im, $bg_color, $this->color_luminance( $bg_color, 0.10 ) );
list($x, $y) = $this->image_center( $im, $text, $font, $this->font_size );
imagettftext( $im, $this->font_size, 0, $x, $y, $text_color, $font, $text );
if ( imagejpeg( $im, $this->filepath(), 90 ) ) {
imagedestroy( $im );
}
}
Expand full source code Collapse full source code View on GitHub: addons/free/avatar.php:339
Add your comment