2013-03-14 200 views
2

我用一些文本创建图像,当旋转为0时,它很好,但是当rotation is > 0图像看起来不好时,由于文本对齐,因为默认对齐是左的。因为每个值是动态的,所以我们无法修复它,请帮助我。imagettftext函数中文本的右对齐

$message = 'Thanks, Deep, for making time to have a coffee today Purushottam'; 
$no_of_characters_line = $temp_data['no_of_characters_line']; 
$lines = explode('|', wordwrap($message, $no_of_characters_line, '|')); 
// Starting Y position and X position 
$y = $temp_data['position_from_top']; 
$x = $temp_data['position_from_left']; 
$font_size = $temp_data['font_size']; 
$rotation_angle = $temp_data['rotation']; 
$line_height = $temp_data['line_height']; 

foreach ($lines as $line) 
    { 
    imagettftext($im, $font_size,$rotation_angle, $x, $y, $black, $font, $line); 
    // Increment Y so the next line is below the previous line 
    $y += $line_height; 
    } 

我也附加示例模板。 enter image description here

+0

你能举一个例子说明文本如何渲染不合要求吗? – FoolishSeth 2013-03-14 06:36:03

+1

您需要调整$ x和$ y。 $ x =水平像素,$ y =垂直像素 – ripa 2013-03-14 06:36:23

回答

0

您可以使用imagettfbbox来计算字符串大小(以像素为单位)。然后,使用宽度,您将能够计算将文本对齐到右侧所需的偏移量。另外,请查阅imagettftext文档以获取文本对齐的一些示例。