页脚左侧没有文字位置

时间:2013-11-29 13:55:56

标签: php image watermark

请检查我的代码 -

<?php
function watermarkImage ($SourceFile, $WaterMarkText, $DestinationFile) {
   list($width, $height) = getimagesize($SourceFile);
   $image_p = imagecreatetruecolor($width, $height);
   $image = imagecreatefromjpeg($SourceFile);
   imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
   $black = imagecolorallocate($image_p, 0, 0, 0);
   $font = 'dum13d100.ttf';
   $font_size = 10;
   imagettftext($image_p, $font_size, 0, 10, 20, $black, $font, $WaterMarkText);
   if ($DestinationFile<>'') {
      imagejpeg ($image_p, $DestinationFile, 100);
   } else {
      header('Content-Type: image/jpeg');
      imagejpeg($image_p, null, 100);
   };
   imagedestroy($image);
   imagedestroy($image_p);
}

$SourceFile = 'myimage.jpg';
$DestinationFile = 'images/myimage2.jpg';
$WaterMarkText = 'CHINMAY';
watermarkImage ($SourceFile,$WaterMarkText,$DestinationFile);
?>

原始源代码 - http://www.learnphp.in/index.php?page=forum&op=viewThread&id=687

以上代码显示 -

Image watermark shows in header

我想 -

enter image description here

上图高度为280px

我从下面代码顶部检查增加了我的文字高度250($ y angel) -

imagettftext($image_p, $font_size, 0, 10, 250, $black, $font, $WaterMarkText);

它工作正常,但我的问题是,如果有人上传800px或更大尺寸的图片,文字将无法在页脚中显示,它距离顶部250px。

我需要在水印图像上显示填充按钮:图像左侧20px。

请有人帮助我如何让身高变得动态吗?

2 个答案:

答案 0 :(得分:1)

更改行

imagettftext($image_p, $font_size, 0, 10, 20, $black, $font, $WaterMarkText);

imagettftext($image_p, $font_size, 0, 10, $height - 20, $black, $font, $WaterMarkText);

答案 1 :(得分:0)

您可以使用getimagesize()(键索引1为高度)计算图像的高度,然后从高处取20,从底部填充。

$height = getimagesize($image)[1];
imagettftext($image_p, $font_size, 0, 10, $height - 20, $black, $font, $WaterMarkText);