Этот простой скрипт выполнит всю работу за вас, добавив текст в верхнюю часть изображения после открытия, и не изменит само изображение, поэтому вы можете изменить текст на изображении в любое время.
Пример вызова:
<img src="img.php?imgfile=image.jpg&text=YOURTEXTHERE">
// измените текст для наложения на изображения
// $text = 'mydomain.com';
// $imgfile="smp.jpg";
$font = 'arial.ttf';
$ext=substr($imgfile,-3);
$ext=strtolower($ext);
if($ext=="jpg" || $ext=="jpe") <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3c185551017c55515d5b595f4e595d48595a4e5351564c595b">[email protected]</a>("$imgfile");
elseif ($ext=="gif") <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="795d101444391014181e1c1a0b1c180d1c1f0b16141e101f">[email protected]</a>("$imgfile");
else {print "Unknown image format"; exit;}
if (!$im) { /* See if it failed */
$im = ImageCreate (150, 30); /* Create a blank image */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Output an errmsg */
ImageString($im, 1, 5, 5, "Error loading $imgfile", $tc);
return $im;
}
$x=imagesx($im);
$y=imagesy($im);
$fontsize=$x/20;
$fontsize=floor($fontsize);
if($fontsize<10) $fontsize=10;
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagettftext($im, $fontsize, 0, 12, $fontsize+8, $black, $font, $text);
imagettftext($im, $fontsize, 0, 10, $fontsize+6, $white, $font, $text);
imagettftext($im, 10, 0, 12, $y-8, $white, $font, "Powered by SmallCapitalBusiness.com");
imagettftext($im, 10, 0, 10, $y-7, $black, $font, "Powered by SmallCapitalBusiness.com");
if($ext=="gif")
{
header("Content-type: image/gif");
imagegif($im);
}
else
{
header("Content-type: image/jpeg");
imagejpeg($im);
}
imagedetroy($im);