开发者

how to generate multiple texts using php

开发者 https://www.devze.com 2023-03-20 00:45 出处:网络
How can i generate multiple texts using the imagecreatetruecolor() method? I have the following code, but this displays either the first font or the second - not both:

How can i generate multiple texts using the imagecreatetruecolor() method? I have the following code, but this displays either the first font or the second - not both:

<?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);

    ?>

Here above in these last 4 lines only one line appears, and that's the first one. How can I have both lines?

Please help. Thanks in advance.


The imagepng($im); will be called and outputted to your HTML code and as the header is set to an image it will display this image. No matter your imagepng($inm) that comes afterwards.

A better way would be to create two different PHP files. One that does your script and ends in imagepng($im); and another one that ends in imagepng($inm);

And then in your master PHP (header = text/html) file you just mention these 2 files in your image source:

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

<img src="functions/second_image.php" />
0

精彩评论

暂无评论...
验证码 换一张
取 消