2016-04-30 13 views
1

Я использую интервенцию для php для манипуляций с изображениями. Можно ли применять размер шрифта и цвет к тексту через переменную вроде этого? я вычислил $ FontSize и $ цвет выше этого, но он говорит, что неопределенная переменнаяКак использовать переменную в функциях закрытия в php?

$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'); 
        }); 

ответ

4

Вы должны использовать ниже синтаксис для передачи переменной:
Здесь вам нужно использовать метод 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'; 
    }); 
+0

Спасибо за ваш ответ! Я должен определить $ font над этим правом? Можете ли вы также объяснить, как определить $ font? –

+0

Я отредактировал ответ @AnithaIyer – Ali

+0

Получил его: D $ img-> text ($ string, $ item ['x'], $ top, function ($ font) use ($ fontsize, $ color) { $ font-> file ('assets/fonts/Roboto-Medium.ttf'); $ font-> size ($ fontsize); $ font-> color ($ color); $ font-> align ('left '); $ font-> valign (' top '); }); используется как этот^ Спасибо большое! –

 Смежные вопросы

  • Нет связанных вопросов^_^