我有一个函数,它接受一个字体(ttf或otf文件)并生成不同字体的文本图像。
我遇到的问题是试图弄清楚如何使文字适合图像,无论字体大小,字体类型和文本数量如何。
我试图使图像矩形变量,使其包含不同字体的文本,而不会削减一些文本,因为图像不够长或不够宽。
这是我目前的功能,我尝试使用字符数来确定图像的宽度,但在某些情况下,对于某些字体和大小,它仍然会被切断。
function generate_image($save_path, $text, $font_path){
$length = strlen($text) * 15;
// Create the image
$im = imagecreatetruecolor($length, 40);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, $length, 40, $white);
$font = $font_path;
imagettftext($im, 30, 0, 0, 25, $black, $font, $text);
if(imagepng($im, $save_path)){
$status = true;
}else{
$status = false;
}
imagedestroy($im);
return $status;
}
谢谢大家的帮助