Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Gradient GD 2 - Nie można dodać tekstu.
Forum PHP.pl > Forum > Przedszkole
Sachu
Witam.
Utworzyłem sobie gradient w GD2 za pomocą następującej funkcji:
http://planetozh.com/blog/my-projects/imag...-gradient-fill/
Lecz mam pewien problem... Nie mogę umieścić na nim tekstu. Nic poza gradientem się nie pokazuje.

Jeżeli mógłby ktoś mi pomóc, byłbym wdzięczny wink.gif

Pozdrawiam,
Sachu.
mls
A może by tak kod jakiś pokazał?...
Sachu
  1. <?php
  2. header("Cache-Control:no-store,no-cache,must-revalidate");
  3. header('Content-type: image/gif');
  4. require_once('status/gd-gradient-fill.php');
  5.  
  6. $width = "355";
  7. $height = "22";
  8. $startcolor = "8FFF82";
  9. $endcolor = "FF0000";
  10. $direction = "vertical";
  11.  
  12. $pic = new gd_gradient_fill($width,$height,$direction,$startcolor,$endcolor,$step);
  13.  
  14. $czcionka = 'status/fonts/LCD.ttf';
  15. $white = imagecolorallocate($pic, 0, 0, 0);
  16. $red = imagecolorallocate($pic, 255, 0, 0);
  17.  
  18. // no i tutaj tekst
  19. imagettftext($pic, 9, 0, 23, 9, $white, $czcionka, $server['s']['name']);
  20. imagettftext($pic, 9, 0, 26, 20, $white, $czcionka, $server['b']['ip'] . ':' . $server['b']['c_port']);
  21. imagettftext($pic, 9, 0, 155, 20, $red, $czcionka, $server['s']['players'].'/'.$server['s']['playersmax']);
  22. imagettftext($pic, 9, 0, 195, 20, $white, $czcionka, $lgsl_config['text']['map']);
  23. ImageGIF($pic);
  24. ImageDestroy($pic);
  25. ?>


Dane w zmiennych $server['s']['name'] itd. sa na 100% poprawne. Jezeli zamiast gradientu dam jakies inne tlo, wszystko dziala bardzo dobrze.
_Borys_
Po pierwsze usuń albo zakomentuj w gd_gradient_fill to:
  1. // Show it
  2. $this->display($this->image);

aby klasa nie wyświetlała obrazka tylko zwracała tobie do $pic
potem w swoim kodzie pod
  1. $pic = new gd_gradient_fill($width,$height,$direction,$startcolor,$endcolor,$step);

dopisz tylko takie coś:
  1. $pic = $pic->image;

Obrazek poprzez return $this->image; zwracany jest z gd_gradient_fill w obiekcie wieloelementowym i trzeba wyodrębnić ten obrazek czyli $pic = $pic->image;
i potem wrzucić napis.
smile.gif
Sachu
No popatrz, wszystko ladnie dziala wink.gif Leci pomogl. Dzieki wielkie.
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.