Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwertowanie zdjęć
Forum PHP.pl > Forum > PHP
dyktek
Witam, czy w php da się konwertować zdjęcia, np. użytkownik podaje przez formularz jakiegoś tam jpg-a który ma np. 350 KB no i kodzik konwertuje mi to zdjęcie do konkretnego rozmiaru np. 60 KB.
chomiczek
Da się.. uzyj szukaj!
kszychu
To jeszcze zależy JAK ty chcesz to konwertować? Bo zmiana wielkości pliku wiąże się ze zmianą kompresji w przypadku jpg. A czasami tej kompresji nie da się już aż tak bardzo zmniejszyć, albo sięda ale ze znaczną stratą jakości.
LBO
no wlasnie... jeszcze mozna pokombinowac z miniaturyzacja zdjecia... niestety chyba nie ma wydajnej metody... zawsze trzeba metoda prob i bledow (czyli zmieniaj rozmiar/kompresje <wg jakiegos algorytmu> az trafisz)
dyktek
na tym etapie musze się zapoznać po prostu z samą metodą zmiany kompresji pliku jpg więc jeśli masz jakiś przykładzik lub znasz gotowe funkcje które wykonują takie operacje to poprosze o nazwe
kszychu
Proszę bardzo: http://pl.php.net/manual/pl/ref.image.php
chomiczek
a tak:
  1. <?php
  2. $x = 250; //maksymalny rozmiar pliku
  3. $plik = $_GET["plik"];
  4.  
  5. if ($plik<>"") {
  6. header("Content-type: image/jpg");
  7. $zdj = imagecreatefromjpeg("zdj/".$plik.".jpg");
  8. $zdjx = imagesx($zdj);
  9. $zdjy = imagesy($zdj);
  10. if ($zdjx>$x||$zdjy>$x) {
  11. if ($zdjx<$zdjy) {
  12. $y = $x;
  13. $x = ceil($zdjx*($y/$zdjy));
  14. }
  15. else $y = ceil($zdjy*($x/$zdjx));
  16. }
  17. else {
  18. $x = $zdjx;
  19. $y = $zdjy;
  20. }
  21. $nowezdj = imagecreatetruecolor($x,$y);
  22. imagecopyresampled($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  23. imagejpeg($nowezdj,"",75); //tą linie zmieniassz jeśli chcesz mieć zdjęcie gorszej jakości!
  24. }
  25. ?>


to jest plik zdj.php w każdym innym pliku odwołujesz sie
  1. <img src="zdj.php?plik=nazwaFotki" />


Teraz zależnie od tego czy chcesz zmieniać rozmiar(wielkość) czy robić resize modyfikujesz kod.
dyktek
@chomiczek dzięki za przykład tylko czy on zmieni mi rozmiar zdjęcia jeśli nie zmieni roździelczości
chomiczek
getimagesize()" title="Zobacz w manualu php" target="_manual tą funkcją sprawdzisz aktualny rozmiar zdjęcia
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.