Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zastąpienie imagecreatefromgif/jpeg/png
Forum PHP.pl > Forum > Przedszkole
Adrian1207
Witam. Chciałem zapytać czy istnieje możliwość nie używania funkcji imagecreatefromgif/jpeg/png w skrypcie mającym za zadanie przeskalować obrazek do podanych rozmiarów. Nie mogę użyć tych funkcji ponieważ nie zadziałają one w przypadku wysłania przez użytkowników obrazków w formacie np. jpg, swf, tif, tiff, bmp. Wiem , że mogę sprawdzać w jakim formacie użytkownik wysyła zdjęcie i robię to ale co z tego skoro nawet jak sprawdzę i będzie format np. bmp to nie ma funkcji takiej jak imagecreatefrombmp:) A formaty takie muszę przyjmować. Podsumowując chodzi o skrypt do przeskalowania zdjęcia dla formatów innych niż jpeg, png i gif. Z góry dziękuję za odpowiedź.
babejsza
Ogólnie ok, tyle że swf to nie obrazek (przynajmniej w rozumieniu HTML'a). Jeżeli chodzi o pozostałe formaty to nie ma problemu: ImageMagick i pozamiatane smile.gif
Adrian1207
A możesz coś więcej napisać o tym imagemagick, jak tego użyć? Jakoś nie mogę znaleźć pożytecznych informacji na temat tego.
mike
A co chciałes znaleźć po 5min. szukania?
Bez przesady mad.gif przysiądź trochę.
Ja wpisałem w Google imagemagick + php i znalazłem bardzo wiele stron opisujących tą bibliotekę. łącznie z dokumentacją i przykładami użycia.
Już nie wspomną o znalezieniu gotowego rozszerzenia do PHP i tutorialem na sitepoint.com
babejsza
http://www.imagemagick.org/Usage/
http://www.imagemagick.org/

Jeżeli chodzi o sposób użycia to np:

  1. <?php
  2. passthru('convert plik.jpg -resize '100x>' plik_miniatura.jpg);
  3. ?>


//EDIT

przestań mi pisać na PW. Od tego jest forum, żeby się komunikować za jego pomocą.

Tak wywala Ci błąd bo w moim przykładzie jest takowy. Brakuje ciapki przed nawiasem zamykającym. Powinieneś sam to zauważyć winksmiley.jpg.
Adrian1207
Część skryptu odpowiadająca za miniaturę teraz wygląda tak:
  1. <?php
  2. $url="zdjecia/$nazwa";
  3. $dane_obrazka = GetImageSize($url);
  4. list($szerokosc,$wysokosc,$format,$znacznik_html,$kanaly) = $dane_obrazka;
  5. passthru('convert '.$url.' -resize '100x90' zdjecia/mini-'.$nazwa.'');
  6. echo ''.$szerokosc.'x'.$wysokosc.'px';
  7. ?>

Nie wywala żadnego błędu ale miniatury na serwerze nie robi. Co jest źle? Nie ma być nigdzie zaincludowana ta biblioteka imagemagick?
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.