Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zrobić skalowanie zdjęć dodawanych do galerii?
Forum PHP.pl > Forum > Przedszkole
Poczatkujacy_Web
Witam,

poniżej kod jakiego używam do dodawania zdjęć do galerii na serwerze. Chciałbym dorobić automatyczne skalowanie rozmiaru zdjęć do 800x600 jeśli zdjęcie jest większych rozmiarów, a jeśli mniejszych to aby nie zostało skalowane. Uczę się php i nie za bardzo wiem jak się za to zabrać, gdyby ktoś mógł pomóc rozwiązać mój problem to byłbym wdzięczny.

Aaaa... jeszcze gdybyście mogli mi pomóc z sensownym tworzeniem miniatur, w senie aby z przeskalowanego już zdjęcia stworzyć miniaturę z części tego zdjęcia, tak aby nie było zniekształcenia, no chyba że jest na to jakiś lepszy sposób.

z góry dziękuje!

  1. <form action="" method="post" enctype="multipart/form-data">
  2. <input name="image" type="file">
  3. <input name="" type="submit">
  4. </form>
  5.  
  6. <?php
  7. $plik_tmp = $_FILES['image']['tmp_name'];
  8. $plik_nazwa = $_FILES['image']['name'];
  9.  
  10. $save_file = $plik_nazwa;
  11.  
  12.  
  13. if(is_uploaded_file($plik_tmp)) {
  14. move_uploaded_file($plik_tmp, 'images/normal/'.$save_file.'');
  15. echo "wszystko poszlo ok";
  16.  
  17.  
  18.  
  19. $img = imagecreatefromjpeg('images/normal/'.$save_file.'');
  20.  
  21. $width = imagesx($img);
  22. $height = imagesy($img);
  23.  
  24.  
  25. $width_mini = 250; // szerokosc obrazka
  26. $height_mini = 170; // wysokosc obrazka
  27. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  28.  
  29.  
  30. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  31.  
  32.  
  33. imagejpeg($img_mini, "images/mini/".$save_file."", 80); // utworzona miniaturka liczba (80) oznacza jakos obrazka od 0 do 100
  34. imagedestroy($img);
  35. imagedestroy($img_mini);
  36.  
  37. }
  38. ?>
SmokAnalog
Było na tym forum milion razy, a tutoriali w internecie jeszcze więcej.
Poczatkujacy_Web
Cytat(SmokAnalog @ 30.10.2013, 22:48:14 ) *
Było na tym forum milion razy, a tutoriali w internecie jeszcze więcej.


Jak pisałem jestem początkujący i wolał bym się uczyć na własnych przykładach. Dlatego poruszam takie kwestie na tym forum bo mimo że może i było to na tym forum milion razy to forum istnieje aby pomagać takim jak ja, oraz bardziej profesjonalnym smile.gif

Ale jak możesz to podaj jakieś sensownego tutoriala dla początkujących.
SmokAnalog
Na przykład to: http://www.webxpert.ro/andrei/2009/01/08/t...h-php-tutorial/
i3l4z0
Sam z tego korzystam i polecam:
http://phpthumb.gxdlabs.com/
https://github.com/masterexploder/PHPThumb/wiki/Basic-Usage
valkirek
Cytat


Tak to zapewne się czegoś nauczy
Poczatkujacy_Web
Wiecie co, próbowałem się bawić z tymi przykładami od Was, ale nie wiem jak to dobrze zaimplementować w kod, pomoże ktoś?
Turson
Pokaż próby
Poczatkujacy_Web
  1. <?php
  2.  
  3.  
  4.  
  5. require_once 'ThumbLib.inc.php';
  6.  
  7.  
  8.  
  9.  
  10.  
  11. $plik_tmp = $_FILES['image']['tmp_name'];
  12. $plik_nazwa = $_FILES['image']['name'];
  13.  
  14. $save_file = $plik_nazwa;
  15.  
  16.  
  17. if(is_uploaded_file($plik_tmp)) {
  18. move_uploaded_file($plik_tmp, 'images/normal/'.$save_file.'');
  19. echo "wszystko poszlo ok";
  20.  
  21.  
  22.  
  23. $img = imagecreatefromjpeg('images/normal/'.$save_file.'');
  24.  
  25. $width = imagesx($img);
  26. $height = imagesy($img);
  27.  
  28.  
  29. $width_mini = 250; // szerokosc obrazka
  30. $height_mini = 170; // wysokosc obrazka
  31. $img_mini = cropFromCenter(250, 170);
  32.  
  33.  
  34.  
  35. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  36.  
  37.  
  38. imagejpeg($img_mini, "images/mini/".$save_file."", 80); // utworzona miniaturka liczba (80) oznacza jakos obrazka od 0 do 100
  39. imagedestroy($img);
  40. imagedestroy($img_mini);
  41.  
  42. }
  43. ?>
Turson
  1. list($oldWidth, $oldHeight) = getimagesize($_FILES['image']['tmp_name']);
  2. if($oldWidth>=800){
  3. //zmniejszanie
  4. }
  5. else{
  6. wrzuć od razu
  7. }

Takim schematem
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.