【问题标题】:How correctly to put text on an image?如何正确地将文本放在图像上?
【发布时间】:2013-06-26 10:26:13
【问题描述】:

美好的一天。

首先将所有图片合二为一:

$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);

结果我们得到图像:

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

$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);

但在第二步中我们得到了图像:

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

请告诉我哪里不对?

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

【问题讨论】:

  • 增加你的脚本内存限制 - ini_set('memory_limit', '128M');

标签: php image text


【解决方案1】:

当然,您可以使用 GD,但我强烈建议您使用 OO 图像处理库,它们会让您的任务变得非常简单:

https://github.com/avalanche123/Imagine

https://github.com/smottt/WideImage

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2017-11-09
    相关资源
    最近更新 更多