2011-01-27 6 views
2

画像の左下(x、y)座標を取得しようとしています。 私は、左下隅に異なるサイズの画像でテキストを書くことができるようにしています。以下はコードです。助けてもらえますか?iamgeの左下を取得してそこにテキストを書込みます

<?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"); 
?> 
+0

コードにはどのような問題がありますか? – mck89

+0

私はそれを中心にできるが、最下部のコーナーを選ぶことはできないという事実。複数の編集からわかるように、いくつかの間違いがありました。それらを修正しましたが、イメージは左端の代わりに中央揃えになっています。 – t0mgs

+0

何が起こりますか?犯罪は意図されていませんが、エラーの説明では少し詳細にする必要がありますが、少しはっきりしない傾向があります。一番下のコーナーではなく、正確な座標を教えてください。例えば、 –

答えて

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

私はあなたのために行くているものだと思います。上記のコードで2行を$text*posに置き換えてください。左端に

+0

ありがとうブラッド!魅力のように動作します。 – t0mgs

+0

@WideBlade:大歓迎です。 ;-) –

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"); 
+0

@ reanimation-ありがとうございましたが、私はBradのソリューションに行ってきました。とにかく投票を得る! – t0mgs

関連する問題