Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana rozmiaru zdjęcia
Forum PHP.pl > Forum > PHP
Kamil9132
Witam chciałbym ,żeby zdjęcie dodawane na serwer przez użytkownika było przerabiane do wymiaru:
y-150px
x-150px.
Smertius
Zainteresuj się GD lub imagemagick
deha21
Ja u siebie korzystam z czegoś takiego. Gdy zdjęcie nie jest w wymiarze kwadratu to je dodatkowo obcina:
  1. function resize2($filef, $new_width, $new_height, $thumb, $quality) {
  2. $info = getimagesize($filef);
  3. if ($info === false)
  4. return false;
  5. $img = null;
  6. switch($info[2]){
  7. case IMAGETYPE_JPEG:
  8. $img = imagecreatefromjpeg($filef);
  9. break;
  10. case IMAGETYPE_GIF:
  11. $img = imagecreatefromgif($filef);
  12. break;
  13. case IMAGETYPE_PNG:
  14. $img = imagecreatefrompng($filef);
  15. break;
  16. default:
  17. return false;
  18. }
  19. $th = imagecreatetruecolor(150, 150);
  20.  
  21. switch($info[2]){
  22. case IMAGETYPE_JPEG:
  23. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  24. imagejpeg($th, $filef, $quality);
  25. break;
  26. case IMAGETYPE_GIF:
  27. imagealphablending($th, true);
  28. imagetruecolortopalette($img, true, 256);
  29. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  30. imagegif($th, $filef);
  31. break;
  32. case IMAGETYPE_PNG:
  33. imagealphablending($th, false);
  34. imagesavealpha($th, true);
  35. imagecopyresampled($th, $img, 0, 0, 0, 0, $new_width, $new_height, $info[0], $info[1]);
  36. imagepng($th, $filef);
  37. break;
  38. }
  39. imagedestroy($th);
  40. imagedestroy($img);
  41. return true;
  42.  
  43. }

I potem oczywiście należy tę funkcję wywołać.
Kamil9132
Ok dzięki, ale co w tym kodzie mam wywołać ,bo z taką funkcją mam po raz pierwszy mam do czynienia.
Kamil9132
Tylko chodzi mi o to ,żeby to co napisał deha21 wywołać.
Plik ,który jest przekazywany przez formularz jest zapisywany jako $plik_tmp ,a ja chcę żeby to zdjęcie było przerabiane przez tą funkcje i potem dodawane.
Skrypt dodawania wygląda tak:
  1.  
  2. $plik_tmp = $_FILES['zdjecie']['tmp_name'];
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. if(is_uploaded_file($plik_tmp)) {
  20. move_uploaded_file($plik_tmp, "upload/$plik_nazwa" ); }
  21. echo "";}}
.

Ok już działa biggrin.gif
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.