2

我正在尝试获取图像的最左下角(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");
?>
4

2 回答 2

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

我想这就是你想要的。$text*pos用上面的代码替换其中的两行。

于 2011-01-27T15:51:08.617 回答
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");
于 2011-01-27T15:51:49.647 回答