Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][GD] Przezroczystosc napisu
Rafiki
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 29.12.2005
Skąd: Z krzaków

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/smile.gif)
Bardzo mi na tym zalezy więc z gory serdecznie dziękuje za pomoc i fatyge (IMG:style_emoticons/default/wink.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:43