Ben bir dize almak ve daha sonra farklı boyutlarda farklı yazı tiplerini kullanarak bir resmin içine dönüştürmek için GD2 ve görüntü fonksiyonlarının kullanımını yapıyorum. Kullandığım işlevi altındadır.
Şu anda, oldukça hızlı ama yeterince hızlı değil. Işlevi kullanıcı başına yaklaşık 20 kez aradım alır ve oluşturulan görüntüler (farklı) her zaman yenilerini yüzden önbelleğe yardım edecek değil!
Ben bu işlev daha hızlı yapmak için nasıl bazı fikirler almak için umuyordum. Belki komut çalıştıran daha fazla RAM kaynağı? Bu PHP fonksiyon özgü başka bir şey?
Bu işlevin performansını tweak Yapabileceğim başka bir şey?
function generate_image($save_path, $text, $font_path, $font_size){
$font = $font_path;
/*
* I have simplifed the line below, its actually a function that works out the size of the box
* that is need for each image as the image size is different based on font type, font size etc
*/
$measure = array('width' => 300, 'height'=> 120);
if($measure['width'] > 900){ $measure['width'] = 900; }
$im = imagecreatetruecolor($measure['width'], $measure['height']);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, $measure['width'], $measure['height'], $white);
imagettftext($im, $font_size, 0, $measure['left'], $measure['top'], $black, $font, ' '.$text);
if(imagepng($im, $save_path)){
$status = true;
}else{
$status = false;
}
imagedestroy($im);
return $status;
}
Herhangi bir yardım için teşekkür ederiz