我正在使用intervention for php进行图像操作。是否可以通过这样的变量将字体大小和颜色应用于文本?我已经计算了$fontsize和$color,但上面写着未定义的变量
$img->text($string, $item['x'], $top, function($font) {
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
您需要使用以下语法来传递变量:
在这里,您需要使用use()
方法。
$img->text($string, $item['x'], $top, function() use($font){
$font->file('assets/fonts/Roboto-Medium.ttf');
$font->size($fontsize);
$font->color($color);
$font->align('left');
$font->valign('top');
});
编辑
这里$font
必须是Class object
,因为这在callback
函数中使用。如果你只想要数组,那么就采用以下方式:
$font = []; // initialize array
$img->text($string, $item['x'], $top, function() use($font){
$font['file'] = 'assets/fonts/Roboto-Medium.ttf';
$font['size'] = $fontsize;
$font['color'] = $color;
$font['align'] = 'left';
$font['valign'] = 'top';
});