Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Instalacja GD2
Forum PHP.pl > Forum > Serwery WWW > Apache
frasek
Jestem z tego tematu zielony, a i z php jakis rewelacyjny nie jestem. Ale postanowilem zainstalowac sobie GD2. W tej chwili pracuje na krasnalu, i w phpinfo() teoretycznie jak patrze na GD2 to wszystko powinno dzialac, ale mimo wszystko rysunek ktory chce narysowac nie dziala pojawia sie blad
"Obrazek ... nie może zostać wyświetlony ponieważ zawiera błędy"
Dodam tylko ze w kodzie powinno byc wszystko oki bo skopiowalem go z dokumentacji:
  1. <?php
  2.  
  3. // Zaczynamy od nagłówka wskazującego typ zawartości, który
  4. // będziemy prezentowali przeglądarce
  5.  
  6. header("Content-type: image/png");
  7.  
  8. // Tworzymy nowy obrazek
  9.  
  10. $obraz = ImageCreate(300, 50);
  11.  
  12. // WeĽmiemy 3 kolory: biały, czarny i czerwony
  13.  
  14. $kolor['1'] = ImageColorAllocate($obraz, 255, 255, 255);
  15. $kolor['2'] = ImageColorAllocate($obraz, 0, 0, 0);
  16. $kolor['3'] = ImageColorAllocate($obraz, 255, 0, 0);
  17.  
  18. // Jako tło narysujemy na całej wielkości obrazka wypełniony
  19. // prostokąt o białym tle, podane współrzędne to lewy górny i
  20. // prawy dolny róg
  21.  
  22. ImageFilledRectangle($obraz, 0, 0, 300, 50, $kolor['1']);
  23.  
  24. // Teraz czerwone półkole dla dekoracji
  25. // Pierwsze dwa parametry to współrzędne środka, dwa kolejne to
  26. // szerokość i wysokość, kolejne dwa to początek i koniec półkola
  27. // w stopniach, póĽniej kolor a na końcu styl, w tym przypadku
  28. // standardowy, wypełniony wycinek
  29.  
  30. ImageFilledArc($obraz, 25, 25, 40, 40, 180, 360, $kolor['3'], 1);
  31.  
  32. // Teraz trochę tekstu, przyjmujemy że jest on podany w zmiennej
  33. // $tekst. Pierwszy parametr określa wielkość w pikselach, drugi
  34. // kąt tekstu (0 to normalny, poziomy tekst), dwa kolejne to
  35. // współrzędne lewego, dolnego rogu pierwszego znaku, potem
  36. // skierowanie do pliku z czcionką i na koniec tekst do
  37. // wyświetlenia
  38.  
  39. ImageTTFText($obraz, 40, 0, 30, 5, $kolor['2'], "../times.ttf",
  40. $tekst);
  41.  
  42. // Zbieramy wszystko razem
  43.  
  44. ImagePNG($obraz);
  45.  
  46. // Zwalniamy zajętą pamięć
  47.  
  48. ImageDestroy($obraz);
  49.  
  50. ?>


Jesli macie jakis pomysl albo cos zrobilem niepoprawnie to piszcie.

----
Proszę używać znaczników php - tiraeth
piotrd
a czy ścieżka do "../times.ttf" jest prawidłowa?
tiraeth
Edit: Forum ustawia backslash dla cudzysłowia więc nie brać tego pod uwagę....

Zamień cudzysłów na pojedyńczy:
  1. <?php
  2. // ciach...
  3. header('Content-type: image/png');
  4. // ciach...
  5. ?>
frasek
Oki dzieki jak tylko pojawie sie w domu to wszystko sprawdze. I sie odezwe.

1. Z tym times.ttf jest pewien problem, takiej sciezki w php.ini nie ma wcale a pliku na dysku tez nie ma spradzalem

2. Z cudzyslowami tez nie pomoglo sad.gif
slash12345
Po pierwsze: nie używaj kodu, którego działania nie znasz... W tym przypadku skopiuj sobie TIMES.TTF z C:\WINDOWS\Fonts jako times.ttf do katalogu nadrzędnego dla skryptu (../times.ttf). Czyli uzyskasz plik z czcionką Times w lokacji ../times.ttf

Po drugie: sprawdź źródło generowanego obrazka tak samo, jak sprawdzasz źródło dokumentu HTML. php nie rozdziela strumieni STDOUT i STDERR jak Perl, więc wszyskie komunikaty o błędach będą lądować w obrazku i mieszać jego bity (tak jak komunikat o brakującym pliku ../times.ttf). Sałatka obrazkowo-błędowa raz. Przyczyną może być też limit pamięci w php.ini

Pozdrawiam smile.gif
frasek
Sorki za ten kwas z times.ttf ale po prostu chcialem najpierw sprawdzic czy ta biblioteka dziala i wkleilem kod z jakiegos tutoriala smile.gif. Pozniej mialem sie zajac jego analiza. Ale oki sprobuje zrobic tak jak powiedziales zobaczymy czy sobie poradze
zur887
  1. <?php
  2. $tekst = ' jest super';
  3. ImageTTFText($obraz, 40, 0, 30, 5, $kolor['2'], "./times.ttf",
  4. $tekst);
  5. ?>


tekst pojawia się na samej górze obrazka, widać tylko zarys liter, koła woguule niewidać, trzeba je przesunąć.
frasek
Dzieks wszysto dziala tak jak trzeba smile.gif. Dzieki.
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.