Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][GD2] Wyrównanie do prawej tekstu - imagettftext
Forum PHP.pl > Forum > Przedszkole
Taifun
witam,
Mam grafikę 180x14 pikseli i chciałbym na niej umieścić e-mail z prawej strony.
Nie wiem jaki odstęp od lewej strony zrobić
  1. $px = (180 - (strlen($email)) * imagefontwidth(arial.ttf)); //odstęp od lewej strony aby było po prawej stronie


cały kod:

  1. <?php
  2. header("Content-type: image/png");
  3. $email = 'testowy@email.com';
  4. $im = imagecreatefrompng("zakryj_email.png");
  5. $ix=imagesx($im);
  6. $black = imagecolorallocate($im, -0, -0, -0);
  7. $px = (180 - (strlen($email)) * imagefontwidth(arial.ttf));
  8.  
  9. imagettftext($im , 10, 0 , $px , 11 , $black , 'arial.ttf' , $email );
  10.  
  11. imagepng($im);
  12. imagedestroy($im);
  13. ?>
Crozin
Mierzysz szerokość wygenerowanego tekstu - imagettfbbox - reszta to już prosta arytmetyka.
konrados
Pierwszy wynik w googlu: http://stackoverflow.com/questions/2444015...magettftext-php

  1. $dimensions = imagettfbbox($fontSize, $angle, $font, $text);
  2. $textWidth = abs($dimensions[4] - $dimensions[0]);
  3. $x = imagesx($im) - $textWidth;
Taifun
dzięki wielkie,
a możecie mi powiedziec jak wyłączyć antyaliasing w czcionce arial.ttf bo nie wiem czy dobrze próbuję?:
Kod
$black = imagecolorallocate($im, -0, -0, -0);

konrados
Ja tam nie wiem, ale jak dla mnie -0 to nie jest liczba ujemna smile.gif ( no chociaż tu stoi co innego: http://en.wikipedia.org/wiki/Signed_zero ) a ma być ujemna, nie możesz dać -1 ?

A w ogóle, to tuż masz parę porad: http://php.net/manual/en/function.imagettftext.php
naciśnij ctrl+f, wpisz antialias i poczytaj. Bo ja nie znam odpowiedzi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.