Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [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
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 ('.', '..')
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" (IMG:style_emoticons/default/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ć (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 17:43