ホームページ >バックエンド開発 >PHPチュートリアル >php imagettftext 指定した幅内で行を自動的に折り返す_PHP チュートリアル
[php]
関数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
$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);
}
その他
{
$__string.=$_string."n";
$_string=mb_substr($string,$i,1);
}
}
$__string.=$_string;
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($__string,0,1));
imagettftext(
$カード、
$pos['fontsize'],
0、
$pos['left']、
$pos['top']+($box[3]-$box[7]),
$font_color、
$font_file、
$__string);
}
関数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
$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);
}
それ以外
{
$__string.=$_string."n";
$_string=mb_substr($string,$i,1);
}
}
$__string.=$_string;
$box=imagettfbbox($pos['fontsize'],0,$font_file,mb_substr($__string,0,1));
imagettftext(
$カード、
$pos['fontsize'],
0、www.2cto.com
$pos['left'],
$pos['top']+($box[3]-$box[7]),
$font_color、
$font_file,
$__string);
}