Как генерировать несколько текстов с помощью PHP - PullRequest
2 голосов
/ 11 июля 2011

Как я могу сгенерировать несколько текстов, используя метод imagecreatetruecolor()? У меня есть следующий код, но он отображает либо первый шрифт, либо второй, а не оба:

<?php
    // Set the content-type
     header('Content-type: image/png');


    // The text to draw
    $text = 'Hello Farooqi';
    $x = 0;
    $y = 0;
    $w = 50;
    $h = 50;
    $s = 13;


    // Create the image


      $im = imagecreatetruecolor($w , $s);
     imagesavealpha($im, true);

    // Create some colors
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im,0,0,0);
    $text_color = imagecolorallocate($im, 200,200, 91);
    $blue  = imagecolorallocate($im,0,0,180);
    $alpha = imagecolorallocatealpha($im, 0, 0, 0, 127);

    //imagefilledrectangle($im, 0, 0, 150, 25, $black);

    imagefill($im, 0, 0, $alpha);


    // Replace path by your own font path
    $font = 'Calibri Bold.ttf';

    // Add the text
    $dimensions = imagettftext($im, $s, 0, $x, $y, $black, $font, $text);
    $textWidth = ($dimensions[2]);


     $imm = imagecreatetruecolor($w , $s);
     imagesavealpha($imm, true);

     $bluem  = imagecolorallocate($imm,50,50,50);
     $alpham = imagecolorallocatealpha($imm, 0, 0, 0, 127);

     imagefill($imm, 0, 0, $alpham);
    imagettftext($imm, $s, 0, $x+3, $y+3, $bluem, $font, $text);


    // Using imagepng() results in clearer text compared with imagejpeg()

    imagepng($im);
    imagepng($imm);
    imagedestroy($im);
    imagedestroy($imm);

    ?>

Здесь выше в этих последних 4 строках появляется только одна строка, и это первая. Как я могу иметь обе строки?

Пожалуйста, помогите. Заранее спасибо.

1 Ответ

1 голос
/ 11 июля 2011

imagepng ($ im); будет вызван и выведен в ваш HTML-код, а так как заголовок настроен на изображение, он будет отображать это изображение. Независимо от вашего imagepng ($ inm), который приходит после.

Лучшим способом было бы создать два разных файла PHP. Тот, который делает ваш сценарий и заканчивается в imagepng ($ im); и еще один, заканчивающийся на imagepng ($ inm);

И затем в вашем основном файле PHP (header = text / html) вы просто упоминаете эти 2 файла в вашем источнике изображения:

<img src="functions/first_image.php" />

<img src="functions/second_image.php" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...