如何正确地将文字放在图像上?

时间:2013-06-26 10:26:13

标签: php image text

美好的一天。

首先将所有图片合并为一个

$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

imagecopyresampled($dst_r,$img_r1,$x1,$y1,0,0,$ww1,$hh1,$w1,$h1);
imagecopyresampled($dst_r,$img_r2,$x2,$y2,0,0,$ww2,$hh2,$w2,$h2);
imagecopyresampled($dst_r,$img_r3,$x3,$y3,0,0,$ww3,$hh3,$w3,$h3);
imagecopyresampled($dst_r,$img_r4,$x4,$y4,0,0,$ww4,$hh4,$w4,$h4);
imagecopyresampled($dst_r,$img_r5,$x5,$y5,0,0,$ww5,$hh5,$w5,$h5);
imagecopyresampled($dst_r,$img_r6,$x6,$y6,0,0,$ww6,$hh6,$w6,$h6);
imagecopyresampled($dst_r,$img_r7,$x7,$y7,0,0,$ww7,$hh7,$w7,$h7);
imagecopyresampled($dst_r,$img_r8,$x8,$y8,0,0,$ww8,$hh8,$w8,$h8);
imagecopyresampled($dst_r,$img_r9,$x9,$y9,0,0,$ww9,$hh9,$w9,$h9);

imagecopyresampled($dst_r,$img_r0,$x0,$y0,0,0,$w0,$h0,$w0,$h0);

结果我们得到了图片 ssde

下一步 - 在图片上添加文字:

$font = 'calibri_bold_italic.ttf';
$black = imagecolorallocate($dst_r, 255, 255, 255);
$bbox = imageftbbox(42, 0, $font, $text);
$text_x = (imagesx($dst_r) - $bbox[4])/2;
$text_y = 70;//(imagesy($dst_r) - $bbox[5])/2;
imagefttext($dst_r, 42, 0, $text_x, $text_y, $black, $font, $text);

但在第二步结果中我们得到了图片:

vvv

我们可以看到 - 图片底部有空条。

告诉我在哪里塑料?

为什么我在底部图像上出现空白条带以及如何删除她?

1 个答案:

答案 0 :(得分:0)

当然你可以使用GD,但我强烈建议你使用一个OO图像处理库,它们会使你的任务变得更加简单:

https://github.com/avalanche123/Imagine

https://github.com/smottt/WideImage