2013-04-26 2 views
-2

У меня этот код работает, который помещает текст поверх изображения в PHP, однако, когда я сохраняю сгенерированное изображение на свой компьютер, только изображение отображается, а текст - нет.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); 
?> 

Если я просто установить $ строку $ строка = 'Привет'; слово hello остается при сохранении, но поскольку я использую preg_match для захвата значения для печати на изображение, когда я его сохраняю, текст не отображается.

Любая помощь, спасибо.

+2

так это проблема регулярного выражения .... – migajek

+0

как вы сохраните изображение? – Robin

+0

Просто щелкните правой кнопкой мыши + сохранить – Koala

ответ

1

Сохранить изображение непосредственно с помощью:

imagepng($Image, The path to save the file to.) 
1

Как уже упоминалось в комментарии, это проблема регулярного выражения, а не проблема с текстом.

Прежде всего, вы должны проверить результаты preg_match против boolean false, чтобы убедиться, что соответствие выполнено успешно. замените любые пробелы в шаблоне \s+ или \s* сделайте хотя бы var_dump, чтобы увидеть результаты поиска.

+0

Текст действительно отображается на изображении, поэтому preg_match должен работать, его только тогда, когда я сохраняю изображение, которое он не показывает – Koala