Обтекание текста в imagettftext ()

я получил этот скрипт для генерации изображения из случайного JPG в каталоге, добавив случайный слоган из базы данных:

<?php

header('Content-type: text/html; charset=utf-8');

include '../connect.php';
require_once 'random.php';

$timestamp = time();
$date = date("d.m.Y_G", $timestamp);$slogan = $mysqli->query("SELECT `text` FROM `slogans` ORDER BY RAND() LIMIT 1");

$slogan_txt = $slogan->fetch_assoc();$bg = get_rand_img('../../images/');
$imgPath = '../../images/' .$bg;

$text = $slogan_txt[text];
$image = $imgPath;
$font = "font.TTF";
$font_size = "25";

$image_2 = imagecreatefromjpeg($image);
$black = imagecolorallocate($image_2,0,0,0);

$image_width = imagesx($image_2);
$image_height = imagesy($image_2);

$text_box = imagettfbbox($font_size,$angle,$font,$text);
$text_width = $text_box[2]-$text_box[0]; // lower right corner - lower left corner
$text_height = $text_box[3]-$text_box[1];

$x = ($image_width/2) - ($text_width/2);
$y = ($image_height/2) - ($text_height/2);

imagettftext($image_2,$font_size,0,$x,$y,$black,$font,$text );

header ("Content-type: image/png");
imagejpeg($image_2);?>

пока работает нормально.

Теперь есть несколько лозунгов с большим количеством слов для одного ряда. Мне нужно, чтобы они были обернуты, а также были сосредоточены!

Я не могу использовать WordWrap в imagettftext (), поэтому мне нужно как-то взорвать его.

Я нашел некоторые функции в Интернете, но они не работают, как ожидалось. возможно я просто не знаю, как объединить их с моим существующим кодом!

может кто-то получил рабочий пример из собственных проектов?

пока спасибо!

0

Решение

Это взрывает строку и помещает текст во вторую строку, если первая длиннее 14, я думаю, вы могли бы развить это.

$string = "";
$string2 = "";
$name = explode(" ", $name);
foreach ($name as $n) {
if (strlen($string) + strlen($n) > 14) {
$string2 .= $n . " ";
} else {
$string .= $n . " ";
}
}

для центрирования текста вам нужно сделать что-то вроде:
(imagesisex / 2) — цифры * размер пикселя

0

Другие решения

Ну, теперь это сработало.

Нашел что-то интересное здесь и это все! Просто нужно добавить расчет, с чего начать с текста (отвечая на размер изображения).

GDtext от Stil

Спасибо!

0

По вопросам рекламы [email protected]