Мне на картинку необходимо вставить текстовый watermark использую следующий код:
Image::text(
$image,
$word,
Yii::getAlias('@webroot/fonts/fira_sans/FiraSans-Book.otf'),
$start,
$fontOptions
)->save(Yii::getAlias('@webroot/images/certificates/'.$name.'.jpg'), ['quality' => 100]);
Проблема в том что количество символов в watermark всегда разное, а мне надпись нужно сделать четко по центру. Как это сделать?
Если не ошибаюсь, Yii'шный Image
так не умеет, но он может вернуть Imagine
(getImagine
). Ну а дальше по доке: Image::getImagine()->getClassFactory()->createFont(...)->box('text')
-- так вы узнаете размер бокса с текстом. Ну и останется посчитать позицию с которой нарисовать текст (середина картинки минус половина размера бокса текста).
UPD
В yii используется более старая версия Imagine, поэтому код будет немного другой:
$palette = new \Imagine\Image\Palette\RGB();
$fontBox = Image::getImagine()
->font('fontfile.ttf', 10, $palette->color('#ff0000'))
->box('foo bar');
var_dump($fontBox->getWidth(), $fontBox->getHeight());die;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В ВК с помощью метода messagesgetConversationMembers можно получить список участников беседы и их статус в беседе в виде JSON