如何使用PHP创建文本图像时添加背景图像?

时间:2011-03-18 17:22:10

标签: php image-processing

我目前正在使用以下脚本 -

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

但我也想添加背景图片。请帮助,我是这个功能的新手。

1 个答案:

答案 0 :(得分:0)

以下内容适合您吗?您想要打开要用作背景的图像,然后将文本写在顶部。

    <?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
    }
?>