Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak zrobić skalowanie zdjęć dodawanych do galerii?
Poczatkujacy_Web
post 30.10.2013, 22:43:39
Post #1





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

Ostrzeżenie: (10%)
X----


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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
SmokAnalog
post 30.10.2013, 22:48:14
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Było na tym forum milion razy, a tutoriali w internecie jeszcze więcej.
Go to the top of the page
+Quote Post
Poczatkujacy_Web
post 30.10.2013, 22:51:39
Post #3





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
SmokAnalog
post 30.10.2013, 22:59:17
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Na przykład to: http://www.webxpert.ro/andrei/2009/01/08/t...h-php-tutorial/
Go to the top of the page
+Quote Post
Turson
post 30.10.2013, 22:59:35
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


https://www.google.pl/search?q=skalowanie+z...MAcSL4gTD3oHoAg
sciana.gif
Go to the top of the page
+Quote Post
i3l4z0
post 31.10.2013, 08:23:40
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.02.2009
Skąd: Gdańsk

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


Sam z tego korzystam i polecam:
http://phpthumb.gxdlabs.com/
https://github.com/masterexploder/PHPThumb/wiki/Basic-Usage
Go to the top of the page
+Quote Post
valkirek
post 31.10.2013, 10:20:14
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 6
Dołączył: 24.07.2013

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


Cytat


Tak to zapewne się czegoś nauczy
Go to the top of the page
+Quote Post
Poczatkujacy_Web
post 12.11.2013, 20:34:08
Post #8





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

Ostrzeżenie: (10%)
X----


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ś?
Go to the top of the page
+Quote Post
Turson
post 12.11.2013, 20:55:10
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Pokaż próby
Go to the top of the page
+Quote Post
Poczatkujacy_Web
post 12.11.2013, 21:05:06
Post #10





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

Ostrzeżenie: (10%)
X----


  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. ?>
Go to the top of the page
+Quote Post
Turson
post 12.11.2013, 21:21:32
Post #11





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:03