How to add background image when creating text image using php?

I am 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 also want to add a background image. Please help, I am new to this feature.

+4
source share
1 answer

Something like the following for you? You want to open the image you want to use as a background, and then write the text on 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 } ?> 
0
source

Source: https://habr.com/ru/post/1344308/


All Articles