Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Zmiana wielkości plików graficznych - GD2 imagecopyresampled
adif
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.06.2005

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


Witam szanownych kolegów.

Czy spotkaliście się może z problemem (a sądzę że tak) podczas przesyłania zdjęć JPG i tworzenia miniaturek, aby zdjęcie o określonych rozmiarach (szerokości) np. ok 4500 px lub większe powodowało przerwanie skryptu i błąd.

Oto fragment kodu, który obrabia przesyłane zdjęcia:
  1. $foto = imagecreatetruecolor($szer_big, $wys_big);
  2. $source = imagecreatefromjpeg($lokalizacja);
  3. imagecopyresampled($big, $source, 0, 0, 0, 0, $szer_big, $wys_big, $wymiar[0], $wymiar[1]);
  4. imagejpeg($big, $lokalizacja, 90)


W czym rzecz.

Testowałem przesyłanie fotek o różnych wagach (1, 2, 5, a nawet 8MB) i ponieważ tak mam serwer ustawiony że mogę przesyłać dość duże pliki to i różne rozdzielczości mają prawo się pojawić. I tutaj zaczynają się schody. Pliki o szerokości do ok. 4200px niezależnie od wagi przesyłają się ładnie, miniaturki tworzone są poprawnie. Dopiero przy próbie wysłania zdjęcia powyżej tych rozmiarów skrypt się wysypuje i co najlepsze nawet nie dostaję żadnego komunikatu błędu a jedynie białe tło przeglądarki.

W czym rzecz? Czy GD2 ma jakieś ograniczenia co do szerokości obrabianych plików czy może moim skryptom czegoś brakuje?

Jeśli problem się już pojawił na forum, a mi nie udało się znaleźć konkretnego postu proszę odeślijcie mnie do niego.

Z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tylko i wyłacznie memory limit. Duże zdjęcia są bowiem przetwarzane podczas createimagefrom* do formy własnego formatu biblioteki GD2, która to zawiera nieskompresowane RGBA + własne informacje. Same dane o kolorach to:
4B x 4500 x 3375 = 60750000B ~= 59326,17kB ~= 57,94MB
A gdzie jeszcze pamięć na resztę? Stąd posypie Ci przetwarzanie dużych obrazów wiele skryptów jeśli nie jesteś na to gotowy w konfiguracji.
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 14:24