请检查我的代码 -
<?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
以上代码显示 -
我想 -
上图高度为280px
我从下面代码顶部检查增加了我的文字高度250($ y angel) -
imagettftext($image_p, $font_size, 0, 10, 250, $black, $font, $WaterMarkText);
它工作正常,但我的问题是,如果有人上传800px或更大尺寸的图片,文字将无法在页脚中显示,它距离顶部250px。
我需要在水印图像上显示填充按钮:图像左侧20px。
请有人帮助我如何让身高变得动态吗?
答案 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);