我想将通过sql select动态生成的文本放在使用GD库创建的图像上。我正在使用它来创建图像并在其上放置一些文本,但我想将带有SQL select数据的变量$ users放入图像中:
$query = "SELECT id, name FROM users WHERE .... ORDER BY id DESC"; while ($line = mysql_fetch_assoc($query)) { $users .= "<img src='https://www.example.com/" . $line['id'] . "/photo'/> " . $line['name'] . "<br />"; } function create_image(){ $im = @imagecreate(550, 600)or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 0); // yellow $red = imagecolorallocate($im, 255, 0, 0); // red imagestring($im, 1, 5, 10, $users); imagestring($im, 2, 5, 50, "Text 2", $red); imagepng($im,"image.png"); imagedestroy($im); } create_image(); print "<img src=image.png?".date("U").">";
$ user变量中的文本未显示,我该怎么办?
谢谢
这是一个如何在png图像上绘制文本的示例:
$img = imagecreatefrompng($image_path); //$image_path -> on which text to be drawn @imagealphablending($img, true); @imagesavealpha($img, true); $textColor = imagecolorallocate($img, 100, 100, 98); $font = '../fonts/Arial.ttf'; imagettftext($img, 18, 0, 140, 285,$textColor,$font, $name); // $name -> dynamic text to be drawn on image $path = "path where you want to save created image"; $image = imagejpeg($img, $path); imagedestroy($img);
完毕..