Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Edycja zdjęć
Belial
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Napisałem prosty skrypt, żeby pobawić się w edytora zdjęciowego. Niestety nie działa tak jakbym tego oczekiwał, bo wszystkie fotografie zapisują się jako jednolicie brązowy jpg…

  1. <?php
  2.  
  3. require('vendor/autoload.php');
  4. use Gregwar\Image\Image;
  5.  
  6. libxml_use_internal_errors(true);
  7. error_reporting(E_STRICT);
  8.  
  9. $files = scandir('content/');
  10.  
  11. foreach ($files as $file)
  12. {
  13. Image::open()
  14. ->resize(100, 100)
  15. ->sepia()
  16. ->save($file);
  17. }
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A w którym momencie wczytujesz istniejący plik?


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Wybacz, ale nie za bardzo rozumiem pytanie. Wszystkie pliki z folderu wczytują się wraz z inicjalizacją pętli, ale to przecież oczywiste, więc raczej coś innego miałeś na myśli...
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Zobacz, w którym miejscu otwierasz plik poddając go edycji.


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Ech, mam dziś jakiś zanik mózgu, bo nie wiem jak to sprawdzić :/
Go to the top of the page
+Quote Post
markuz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Może warto metodzie open() powiedzieć jaki plik chcesz otworzyć? Czy jest sprytna i zawsze się domyślała?


--------------------
Go to the top of the page
+Quote Post
jakub.drag
post
Post #7





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 11.10.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


+nie próbować retuszować katalogów ('.', '..')


--------------------
Podchodź pozytywnie do swojego kodu :)
Go to the top of the page
+Quote Post
Belial
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Cytat(markuz @ 31.07.2016, 15:35:05 ) *
Może warto metodzie open() powiedzieć jaki plik chcesz otworzyć? Czy jest sprytna i zawsze się domyślała?


Wygląda na to, że metoda open() jest sprytna, bo obrabiając zdjęcia, zachowuje ich nazwy i zmienia rozmiar. Nie wiem tylko, dlaczego wszystkie są brązowe.
Go to the top of the page
+Quote Post
trueblue
post
Post #9





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wszystkie są brązowe, bo obecny sposób użycia metody open nie obrabia zdjęć.
Wcale więc nie jest tak sprytna.


--------------------
Go to the top of the page
+Quote Post
markuz
post
Post #10





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Zaryzykował bym i podał jej nazwę pliku do "obrobienia" smile.gif


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #11





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Testowałem to już wcześniej. Działa, ale co z tego, skoro chcę w ten sam sposób „obrobić” 50 plików. Wprowadzanie co chwilę nowej nazwy jest trochę bez sensu. Myślałem, że można to zautomatyzować smile.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #12





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W jaki sposób chcesz podawać tą nazwę?


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #13





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Podawałem nazwę pliku do obróbki, wywalałem pętlę i wszystko działa - retuszuje jedno zdjęcie. W pętli próbowałem zastosować wyrażenie regularne, ale nie zdaje to egzaminu.
Go to the top of the page
+Quote Post
trueblue
post
Post #14





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Skoro podawałeś nazwę pliku bez pętli, to dlaczego nie podajesz jej w pętli, zamiast jakiegoś wyrażenia regularnego?


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #15





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Dlatego że chcę poddać obróbce kilkadziesiąt zdjęć. Poza tym kiedy wrzucam dokładną nazwę pliku do pętli, efekt jest podobny - brązowa fotka.
Go to the top of the page
+Quote Post
trueblue
post
Post #16





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A jak to możliwe, że przy zapisie udaje Ci się nie podawać stałej nazwy?

Przy okazji na ten moment sprawdź jak wygląda oryginał, który chcesz poddać obróbce.


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #17





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Jak to nie podaję stałej nazwy przy zapisie? Przecież w pętli, w metodzie save(), mam parametr $file, który przypisuje mi nazwy do poszczególnych plików - takie same, jak zdjęć poddanych obróbce smile.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #18





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A jaki plik podczas pętli otwierasz do obróbki?


--------------------
Go to the top of the page
+Quote Post
Belial
post
Post #19





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.03.2016

Ostrzeżenie: (0%)
-----


Uruchamiając skrypt, otwierają mi się wszystkie pliki z folderu content i - w brązowej postaci - zapisują się w głównym katalogu, czyli tam, gdzie jest skrypt.
Go to the top of the page
+Quote Post
trueblue
post
Post #20





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Powtarzam Ci jeszcze raz. Nie otwierają się pliki z katalogu content, bo ich najzwyczajniej nie otwierasz.
Nie zapisują również w brązowej postaci, co sam potwierdziłeś ("jednolicie brązowy").


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:01