Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla w bibliotece GD
Forum PHP.pl > Forum > PHP
q3trm
Witam.

Mam mały problem, nie wiem dlaczego poniższy skrypt nie chcę wykonać pętli wedle moich oczekiwań. Pętla zawsze zostaję wykonana z indeksem 0.

Skrypt ma na celu obracanie zdjęć znajdujących się w folderze X. $_SESSION['fileImage'], przechowuję tablicę z zdjęciami.

  1. class ImageGD
  2. {
  3. public function showRotateImage ()
  4. {
  5. return $image = '<img src="img.php" />';
  6. }
  7. }
  8. $img = new ImageGD();
  9. echo $img ->showRotateImage ();
  10.  


Plik img.php

  1. <?php
  2. for ($i; $i < count($_SESSION['fileImage']); $i++)
  3. {
  4. header('Content-Type: image/jpeg');
  5.  
  6. $img_name = 'zdjecia\\'.$_SESSION['fileImage'][$i];
  7. $rotate = $_SESSION['angleImage'];
  8.  
  9. $img = imagecreatefromjpeg($img_name);
  10.  
  11. $rotate = imagerotate($img, $rotate, null);
  12.  
  13. imagejpeg ($rotate, $img_name, 100);
  14. imagedestroy($img);
  15. imagedestroy($rotate);
  16. }
  17. ?>


W wykonaniu ww. kodu zdjęcia powinny być obrócone o 90 stopni, niestety tylko pierwszy indeks(zdjęcie) w tablicy $_SESSION['fileImage'] zostaję obrócone o równowartość przejść pętli * 90 stopni.
nospor
Przecież w pętli zawsze obracasz o 90 stopni a nie o 90stopni * index
q3trm
Zgadza się, tylko w moim przypadku jak pętla robi dwa przejścia, to obraca tylko pierwszy indeks(zdjęcie) w tablicy o 180 stopni i potem przy każdym kolejnym przejściu o następne 90 stopni. Pętla działa prawidłowo, jak ją napisać żeby nie wykonywała za każdym przejściem od nowa skryptu, tylko przesuwała indeks w tablicy $_SESSION['fileImage'] i wykonywała obrót na każdym indeksie(zdjęciu). Domyślam się, że na jednej pętli tego nie wykonam worriedsmiley.gif.
nospor
Szczerze? Teraz to już w ogóle nie rozumiem o co ci chodzi:)
q3trm
arrowheadsmiley.png . To może tak, nie biorąc mojego przykładu na wyznacznik. Jak zrobić żeby skrypt z GD, wykonał jakąś operację na zdjęciach zamieszczonych w tablicy, mam dziesięć zdjęć i chcę żeby skrypt za jednym zamachem(wywołaniem) coś na nich wykonał, obojętnie co smile.gif.
nospor
  1. foreach ($tablicazezdjeciami as $filePath){
  2. //i tu na tym $filePath robisz co chcesz
  3.  
  4. }
smile.gif
q3trm
foreach - to jest to specool.gif, ale dlaczego worriedsmiley.gif ?
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.