简体   繁体   中英

How to add a background image while creating a text image using php?

I'm currently using the following script--

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

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 115, 150, 195);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'My Name';
// Replace path by your own font path
$font = 'AGENCYB.TTF';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

But I want to add a background image too. Please help, I'm new to this function especially.

Would something like the following work for you? You want to open the image you want to use as the background, and then write your text over the top.

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

    /* Attempt to open */
        $im = @imagecreatefrompng('backgroundimage.png');

        /* See if it failed */
        if(!$im)
        {
            // Create some colors
        $white = imagecolorallocate($im, 255, 255, 255);
        $grey = imagecolorallocate($im, 128, 128, 128);
        $black = imagecolorallocate($im, 115, 150, 195);
        imagefilledrectangle($im, 0, 0, 399, 29, $white);

        // The text to draw
        $text = 'My Name';
        // Replace path by your own font path
        $font = 'AGENCYB.TTF';

        // Add some shadow to the text
        imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

        // Add the text
        imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

        // Using imagepng() results in clearer text compared with imagejpeg()
        imagepng($im);
        imagedestroy($im);


        }else
    {
         //you want to do something here if your image didn't open like maybe fpassthru an alternative image
    }
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM