此库函数对于仅包含文本的可变大小图像非常有用,例如我用来输出错误消息的函数,这些错误消息会累积并导致我的缩略图生成器出现致命错误
<?php
function errimg($error) {
$font_size = 2;
$text_width = imagefontwidth($font_size);
$text_height = imagefontheight($font_size);
$width = 0;
$height = count($error);
for($x = 0; $x < count($error); $x++) {
if(strlen($error[$x]) > $width) {
$width = strlen($error[$x]);
}
}
$width = $width * $text_width;
$height = $height * $text_height;
$im = imagecreatetruecolor($width + ( 2 * $text_width ),
$height + ( 2 * $text_height ) );
if($im) {
$text_color = imagecolorallocate($im, 233, 14, 91);
for($x = 0; $x < count($error); $x++) {
imagestring($im, $font_size, $text_width,
$text_height + $x * $text_height, $error[$x],
$text_color);
}
out($im, array(), $error);
} else {
$error[] = "GD 是否已安装?";
die(var_dump($error));
}
}
?>
该函数期望传入一个错误消息数组,然后输出一个包含数组内容的图像。如果您的代码包含在 HTML 页面中,并且如果图像渲染不正确,该页面将显示错误,则此功能特别有用。
此函数以图像形式显示数组,索引 0 在顶部,最高索引在底部。
不过您必须自己编写 out(),请参阅 imagejpeg、imagepng 等以获取有关如何编写体面的输出函数的良好想法。