получить самый нижний левый угол iamge и написать текст там - PullRequest
2 голосов
/ 27 января 2011

Я пытаюсь получить самые нижние левые (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 ]

1 голос
/ 27 января 2011

На левом краю обозначена координата x, равная 0, На нижнем крае обозначена координата y, равная высоте изображения минус высота текста.:

$size = imagesize($img);
$x = 0;
$y = $size[1] - 30;
// assuming you're using GD1
imagettftext($image, 30, 0, $x, $y, $color, $font, "sample text");
1 голос
/ 27 января 2011
$indentfromedge = 5; // or whatever you want for an indent
$textleftpos = $indentfromedge;
$texttoppos = $image2size[1] - $ysize - $indentfromedge;

Я думаю, это то, что вы собираетесь.Замените две строки на $text*pos в них приведенным выше кодом.

...