php imagettftext 规定宽度内自动换行
[php]
function draw_txt_to($card,$pos,$string)
{
$font_color = imagecolorallocate($card, $pos['color'][0],$pos['color'][1],$pos['color'][2]);
$font_file = BASEPATH.'../'.cfg('ttf');
$_string='';
$__string='';
for($i=0;$i<mb_strlen($string);$i++)
{
$box=imagettfbbox($pos['fontsize'],0,$font_file,$_string);
$_string_length=$box[2]-$box[0];
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($string,$i,1));
if( $_string_length+$box[2]-$box[0]<$pos['width'])
{
$_string.=mb_substr($string,$i,1);
}
else
{
$__string.=$_string."\n";
$_string=mb_substr($string,$i,1);
}
}
$__string.=$_string;
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($__string,0,1));
imagettftext(
$card,
$pos['fontsize'],
0,
$pos['left'],
$pos['top']+($box[3]-$box[7]),
$font_color,
$font_file,
$__string);
}
function draw_txt_to($card,$pos,$string)
{
$font_color = imagecolorallocate($card, $pos['color'][0],$pos['color'][1],$pos['color'][2]);
$font_file = BASEPATH.'../'.cfg('ttf');
$_string='';
$__string='';
for($i=0;$i<mb_strlen($string);$i++)
{
$box=imagettfbbox($pos['fontsize'],0,$font_file,$_string);
$_string_length=$box[2]-$box[0];
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($string,$i,1));
if( $_string_length+$box[2]-$box[0]<$pos['width'])
{
$_string.=mb_substr($string,$i,1);
}
else
{
$__string.=$_string."\n";
$_string=mb_substr($string,$i,1);
}
}
$__string.=$_string;
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($__string,0,1));
imagettftext(
$card,
$pos['fontsize'],
0,www.zzzyk.com
$pos['left'],
$pos['top']+($box[3]-$box[7]),
$font_color,
$font_file,
$__string);
}
作者:jiaochangyun
补充:Web开发 , php ,