使图像适合文本

时间:2011-08-11 01:17:38

标签: php gd

我正在使用PHP GD并尝试绘制文本并制作图像大小 只是适合文本。

我发现了这个问题并尝试了Martin Geisler的代码。

Resize image size according to size of text

它看起来很好用,但是当我尝试其他文本时,有些文字已经脱离了图像。

当然,我可以添加额外的填充,但是必需的填充取决于文本。 那太过分了。

有没有人知道这样做的正确方法?

提前致谢。

// Martin Geisler's version using MS Gothic
header("Content-type: image/png");

$q     = 'Image example';
$font  = './msgothic.ttc';  // MS Gothic
$size  = 30;
$bbox   = imageftbbox($size, 0, $font, $q);

$width  = $bbox[2] - $bbox[6];
$height = $bbox[3] - $bbox[7];

$im    = imagecreatetruecolor($width, $height);
$green = imagecolorallocate($im, 60, 240, 60);

imagefttext($im, $size, 0, -$bbox[6], -$bbox[7], $green, $font, $q);
imagepng($im);
imagedestroy($im);

http://www.betatechnology.jp/~ao/imageexample.png

1 个答案:

答案 0 :(得分:0)

这是与您正在撰写的文字宽度相关的问题。 除非你使用固定字体,否则3小于3 o。

不是试图创建具有正确比例的图像,而是希望将其设置得足够大,然后裁剪掉周围未使用的空间。

创建图像后,可以将边框设为纯色,然后裁剪。 请参阅此处以获取有关如何进行裁剪的说明:

Crop whitespace from image in PHP