我有这段代码可以在PHP中将文本放在图像上,但是当我将生成的图像保存到我的计算机上时,只显示图像而文本不显示。
这是我正在使用的代码:
<?php
header("Content-type: image/png");
$imgPath = 'template4.png';
$image = imagecreatefrompng($imgPath);
$color = imagecolorallocate($image, 255, 0, 0);
error_reporting(0);
if(isset($_POST['submit']))
{
$GT = $_POST['GT'];
$Gamertag = preg_replace('/ /', "+", $GT);
$content = file_get_contents("http://www.ea.com/uk/football/profile/{$Gamertag}/360");
if ($content == false) {
echo "Cant find this Gamertag";
exit();
}
// Titles Won
preg_match('#<div class="stat">
Titles Won <span>([0-9\.]*)<span class="sprite13 goalImage cup"></span></span>#', $content, $titleswon);
}
$string = $titleswon[1];
$fontSize = 3;
$x = 5;
$y = 5;
imagestring($image, $fontSize, $x, $y, $string, $color);
imagepng($image);
?>
如果我只是将 $string 设置为 $string = 'hello'; hello 这个词在保存时会保留,但是因为我使用 preg_match 来获取要打印到图像上的值,所以当我保存它时,文本不会显示。
任何帮助,谢谢。