Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][GD] Przezroczystosc napisu
Forum PHP.pl > Forum > PHP
Rafiki
Witam.

Mam maly problem... chciałbym stworzyc sobie png o stalej szerokosci i wysokosci ... z napisem na srodku.... ogolnie udalo mi sie z gotowego .png zrobic cos takiego, ustawic przezroczystosc w gd, i napisac tekst oraz go wycentrowac.
Problem polega w tym ze plik png jest przezroczysty ( tlo ) tylko sam napis, widac wokol niego biale obramowania albo wypelnienia ( tak jakby niebyl np dobrze wyciety )

Oto kod do generowania obrazka:

  1. <?php
  2.  
  3.  
  4. $text = strip_tags($_GET['trescimg']);
  5.  
  6.  
  7. function textCenter($img, $text, $size, $font) {
  8. $t = imagettfbbox($size, 0, $font, $text);
  9. $x = (imagesx($img)/2) - (($t[4] - $t[6])/2);
  10. $y = (imagesy($img)/2) + (($t[1] - $t[7])/3);
  11. return array("x" => round($x), "y" => round($y));
  12. }
  13.  
  14.  
  15. header('Content-Type: image/png');
  16.  
  17. $im = imagecreatetruecolor(200, 35);
  18. $im = imagecreatefrompng('menu.png');
  19.  
  20. $black = imagecolorallocate($im, 0, 0, 0);
  21.  
  22. $font = 'fonts/anivers_regular.ttf';
  23. $fontsize = 16;
  24.  
  25.  
  26. // wylaczamy tryb alfa
  27. imagealphablending($im, false);
  28.  
  29. // ustawiamy kolor alfa
  30. $trans = imagecolorallocatealpha($im, 128, 128, 128,127);
  31.  
  32. //wypelniamy kolorem alfa
  33. imagefill($im, 0, 0, $trans);
  34.  
  35. $t = textCenter($im, $text, $fontsize, $font);
  36.  
  37. imagettftext($im, $fontsize, 0, $t['x'], $t['y'], $black, $font, $text);
  38.  
  39. //zapisujemy alfa
  40. imagesavealpha($im, true);
  41. // wlaczamy alfa:)
  42. imagealphablending($im, true);
  43.  
  44.  
  45.  
  46. imagepng($im);
  47. imagedestroy($im);
  48.  
  49.  
  50.  
  51. ?>


a wyswietlam to poprostu za pomoca <img src="menu.php?imgtresc=TUTAJ TEKST DO WYSWIETLENIA">

Doczytałem sie gdzieś ,że trzeba skorzystac z funkcji: imagettfbox - probowalem ale niestety przy kilku kombnacjach zawsze wywalało komunikat w stylu: nepoprawny kod obrazka i nie moze zostać wyswietlony :/

Proszę bardzo o pomoc, jak się z tym uporać smile.gif
Bardzo mi na tym zalezy więc z gory serdecznie dziękuje za pomoc i fatyge wink.gif

Pozdrawiam.
Snap
wykomentuj linijkę nr. 27 i zobacz co się stanie.
Rafiki
rzeczywiście zadziałało tak jak nalęzy smile.gif
Dzieki jeszcze raz smile.gif
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.