I am using intervention for php for image manipulations. Is it possible to apply font size and color to text through a variable like this? I have calculated $fontsize and $color above this but it says undefined variable
$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');
});
You need to use below syntax to pass variable:
Here you need to use a use()
method.
$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');
});
EDIT
Here $font
must be a Class object
as this is used in the callback
function. If you just want array then go for the following way:
$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';
});