Перенос текста imagettftext

buro

Member
Регистрация
5 Июл 2011
Сообщения
832
Реакции
1
Баллы
18
Адрес
Архангельск
Как тут настроить перенос текста на другую строку, если он не умещается в границах изображения ?
$X = center($font_size1,$font,$text1,$iSrcWidth);
imagettftext($rImage,$font_size1,0,$X,$iSrcHeight+50+$font_size1,0xFFFFFF,$font,$text1);
$X = center($font_size2,$font,$text2,$iSrcWidth);
imagettftext($rImage,$font_size2,0,$X,$iSrcHeight+70+$font_size2+$font_size1,0xFFFFFF,$font,$text2);

Пытался сделать по такому принцыпу
$text1 = wordwrap($text1, 10, "\n", 2);
$X = center($font_size1,$font,$text1,$iSrcWidth);
imagettftext($rImage,$font_size1,0,$X,$iSrcHeight+50+$font_size1,0xFFFFFF,$font,$text1);
не работает
 

j2me

Заблокирован
Регистрация
23 Апр 2009
Сообщения
24,449
Реакции
26
Баллы
0
Адрес
Архангельская область: доска, треска и тоска
f29.php


PHP:
<?php

require('win2uni.php');

define('FONT_NAME', 'arial.ttf');
define('FONT_SIZE', 12);

function drawtext($image, $font_size, $color, $font_name, $text, $x, $y, $max_width)
{
  $words = explode(" ", $text);
  $string = "";
  $tmp_string = "";
  for($i = 0; $i < count($words); $i++)
  {
    $tmp_string .= $words[$i]." ";
    $dim = imagettfbbox($font_size, 0, $font_name, $tmp_string);
    if($dim[4] < $max_width)
    {
      $string = $tmp_string;
    } else {
      $i--;
      $tmp_string = "";
      imagettftext($image, $font_size, 0, $x, $y, $color, $font_name, $string);
      $string = "";
      $y += 24;
    }
    imagettftext($image, $font_size, 0, $x, $y, $color, $font_name, $string);
  }
}

$text = win2uni('Последний раз редактировалось Chiffa, FosterS, madAlex, mike765, YT1BRUTAL1TY, Игорёк29, SergBuh, TestPoints, Сегодня '.date('d.m.Y', time()).' в ').date('H:i', time()).'.';

$image = imagecreatefrompng("ios5111.png");
$width = imagesx($image);
$height = imagesy($image);
$color = imagecolorallocate($image, 255, 0, 0);

drawtext($image, FONT_SIZE, $color, FONT_NAME, $text, 25, 96, $width - 50);

header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

?>
 
Сверху