Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod PHP i grafika w jednym pliku.
Forum PHP.pl > Forum > PHP
michaleq91
Witam,

Chciałbym stworzyć skrypt, który rysuje mi jakiś tam wzór(wielokąt powiedzmy) na innym obrazku(wczytanym) i go wyświetla. Pkty(x,y) do tego wielokąta mają być obliczone na podstawie statystyk danego użytkownika(ale to akurat teraz nieważne..) Na razie posklejałem coś takiego..:

  1. //obrazek.php
  2. <?php
  3. $image = imagecreatefromgif(adres do obrazka na którym będzie rysować);
  4. $values = array( //tu bym chciał pobrać dane (x i y) z zewnątrz
  5. 20, 20, // Point 1 (x, y)
  6. 30, 20, // Point 2 (x, y)
  7. 40, 100, // Point 3 (x, y)
  8. 100, 40, // Point 4 (x, y)
  9. 20, 30, // Point 5 (x, y)
  10. 20, 20 // Point 6 (x, y)
  11. );
  12. $bg = imagecolorallocate($image, 100, 100, 100);
  13. $blue = imagecolorallocate($image, 0, 0, 255);
  14. imagefilledpolygon($image, $values, 6, $blue);
  15.  
  16. header('Content-type: image/gif');
  17.  
  18. imagegif($image);
  19. imagedestroy($image);
  20. ?>


Niby wszystko ok, tworzy obrazek i mogę go wyświetlić w innm pliku zwyklem poleceniem

  1. print "<img src=\"obrazek.php\">";


Problem w tym, że moje x,y do pkt są stałe, nie mogę zamiast nich wstawić zmiennych zewnętrznych z innego pliku(includujac plik, który służy mi jako head, łączy z bazą, daje zmienne użytkownika itd - no, nie wiem jak napisać to tongue.gif) bo nagłówek
  1. header('Content-type: image/gif');

jest do grafiki(a przynajmniej tak to rozumiem haha.gif) i jak wklepie kod z php to nie pójdzie i wyświetla mi taki komunikat:
Obrazek xxx, nie może zostać wyświetlony, ponieważ zawiera błędy.
Da się jakoś umieścić kod php i grafiki w jednym skrypcie? Albo inaczej rozwiązać mój problem?

Pozdrawiam

(jeśli już był taki temat to przepraszam, nie znalazłem haha.gif)
UNK
Możesz to zrobić na 2 sposoby, sam będziesz musiał określić, który dla Ciebie jest lepszy.
1) Przekazanie przez URL:
  1. print "<img src=\"obrazek.php?wspx[0]=20&wspy[0]=25&wspx[1]=15&wspy[1]=1\">";


2) Pobranie całej zawartości z bazy danych:
Wykonujesz wszystkie potrzebne skrypty do pobrania z bazy danych, oczywiście nie wyświetlając tych danych, nie możesz również mieć żadnych komunikatów, błędów/ostrzeżeń.
W momencie pobierania danych robisz pętle, w której nakładasz sobie punkty lub tworzysz tablice.
michaleq91
Zastosowałem pierwszy sposób i działa smile.gif Wielkie dzięki.
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.