Generator::generate()
Description #
Function to generate letter avatar
Source #
File: addons/avatar/class-generator.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/avatar/class-generator.php:199
Add your comment