Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wielokrotne generowanie grafiki nie działa.
Forum PHP.pl > Forum > Przedszkole
Skitter
  1. <?php
  2. $a=255;
  3. header("Content-type: image/jpeg");
  4. $obrazek1 = ImageCreate(1024,768);
  5. $kolor1 = ImageColorAllocate($obrazek1,$a,$a,0);
  6. ImageFill($obrazek1, 0, 0, $kolor1);
  7. imagejpeg($obrazek1);
  8. imagedestroy($obrazek1);
  9. //////////////////////////////////////////////////////////////////////////////////////////////////
  10. $i=0;
  11. header("Content-type: image/jpeg");
  12. $obrazek2 = ImageCreate(1024,768);
  13. $i=0;
  14. $kolor2 = ImageColorAllocate($obrazek2,$i,$i,0);
  15. ImageFill($obrazek2, 0, 0, $kolor2);
  16. imagejpeg($obrazek2);
  17. imagedestroy($obrazek2);
  18. ?>


Efekt? Zamiast czarnego obrazka, który powinien wygenerować się na miejscu żółtego pojawia się właśnie żółty. Jak rozwiązać ten problem?
StrefaPi
ale jaki ma być konkretnie efekt? czarny obrazek, który zasłoni całą przestrzeń? to po co generować żółty?
Skitter
To tylko testowy plik. Efekt ma być taki, że wygeneruje się żółty a zaraz po nim czarny, który go zastąpi (ostatecznie ma być czarny). Niestety żółty cały czas widnieje na ekranie (albo czarny się w ogóle nie generuje, albo w jakiś sposób nie może zastąpić żółtego.
StrefaPi
jpeg to nie animacja...
Skitter
Wiadomo, że nie. Ale dlaczego nie można nadpisać jednego zdjęcia drugim? A jeśli nie ma na to sposobu, to jak to ominąć?
StrefaPi
bo jpeg to nie animacja...

musisz mieć dwa osobne obrazki... i zastosować jquery, albo zrobić gif...

podstawy php, html, grafiki itp... :P
Skitter
Dlatego napisałem to w dziale "przedszkole" ;D.
Szkoda, myślałem, że będzie podobnie jak w Pascalu lub Delphi.
Tam nie było takich problemów dry.gif
_Borys_
To jest właśnie dziwne bo wysyła do przeglądarki dwa obrazki a wyświetla tylko pierwszy.
StrefaPi
tak tylko tutaj tworzysz JPEG'a - plik, a tam tylko wypełniałeś ekran np. barwą...

czytam i nie wierze... :/

jak jest możliwe że pod jednym adresem pliku będą dostępne dwa?
Skitter
Nie chcę, aby były dostępne dwa!
Chcę aby ten żółty się wyświetlił, został ZNISZCZONY a następnie na jego miejsce wskoczył nowy.
Tym sposobem pod jednym adresem będzie cały czas JEDEN obrazek.
No dobrze, może opiszę mój problem trochę dogłębniej, wtedy lepiej go zrozumiecie i ktoś będzie mógł mi pomóc.

Otóż piszę program (koniecznie musi być w PHP), który będzie wyświetlał animację piksel po pikselu (różnokolorowe).
Będą one obsługiwane przez pętle, ważnym jest, aby animacja ta trwała BARDZO długo.
To znaczy pętle będą tak zagnieżdżone w sobie i wykonywane tyle razy, że długość całej animacji wynosiłaby więcej niż rok.

Zrobiłem to w Pascalu, nie było problemu. Teraz chcę powtórzyć mój projekt w PHP.
Jakieś pomysły?
StrefaPi
ale php ma całkiem inne założenia...

  • teoretycznie możliwe jest osiągnięcie celu - czyli długo działającego programu, tylko po co?
  • normalnym rozwiązaniem jest wygenerowanie w html > diva z tłem, które będziemy animowali w javascript właśnie tak długo np. rok... zaprzęganie do tego php jest bezsensowne
  • chyba, że przy użyciu php będziesz odczytywał stan animacji od którego ma się rozpocząć wyświetlanie na stronie


ad 3* wtedy najporściej jest na podstawie daty na serwerze obliczać jaka powinna być barwa i od niej zaczynać animację, która zapętlona w nieskończoność (w javascript) będzie co jakiś czas (lub bardzo powoli) zmieniać się, jedyny problem to to, że interwał w javascript i w php musi się zgadzać wink.gif
Skitter
Eech czyli pozostaje mi się uczyć javascript :/
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.