获取图像的最左下角并在那里写文本

时间:2011-01-27 15:36:22

标签: php gd imagick

我正在尝试获取图像的最左边(x,y)坐标。 我这样做是为了能够在左下角的不同大小的图片中写一个文本。下面是代码。你能帮忙吗?

<?php
$white = imagecolorallocate($image2, 255, 255, 255);
$grey = imagecolorallocate($image2, 128, 128, 128);
$black = imagecolorallocate($image2, 0, 0, 0);
$textsize = 30;
$size = imagettfbbox($textsize, 0, $font, $text);
$xsize = abs($size[0]) + abs($size[2]);
$ysize = abs($size[5]) + abs($size[1]);
$image2size = getimagesize("image2.jpg");
$textleftpos = round(($image2size[0] - $xsize) / 2);
$texttoppos = round(($image2size[1] + $ysize) / 2);
imagettftext($image2, $textsize, 0, $textleftpos, $texttoppos, $white, $font, $text);
imagejpeg($image2, "image3.jpg");
?>

2 个答案:

答案 0 :(得分:1)

$indentfromedge = 5; // or whatever you want for an indent
$textleftpos = $indentfromedge;
$texttoppos = $image2size[1] - $ysize - $indentfromedge;

我认为你的目标是什么。使用上面的代码将$text*pos替换为两行。

答案 1 :(得分:1)

左边缘表示x坐标为0 在底部边缘意味着y坐标等于图像的高度减去文本的高度

所以,说你的文字大小是30px:

$size = imagesize($img);
$x = 0;
$y = $size[1] - 30;
// assuming you're using GD1
imagettftext($image, 30, 0, $x, $y, $color, $font, "sample text");