Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] rozdzielczosc zdjecia
blank_screen
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.08.2009

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


Witam,
mam male pytanko, chcialbym zeby po uploadzie zdjecia na serwer skrypt rozpoznawal jego rozdzielczosc i pozniej generowal tylko mniejsze od niego rozdzielczosci, gdyz jak wygeneruje mi wieksze to zdjecie bedzie rozciagniete i niewyrazne, przykladowo uploaduje zdjecie 1024x768, a moj aktualny skrypt tworzy mi miniature 800x600, co w tym przypadku jest ok, ale takze tworzy obrazy w rozdzielczosciach 1600x1200 i 1920x1080, a tego chcialbym uniknac... moj skrypt wyglada tak:

  1. <?php
  2. case img:
  3. if($type == "1") {
  4. $ext = strrchr("$img",".");
  5. $ext = str_replace( '.', '', $ext );
  6. if($_GET['size'] == '1') { $width = '1920'; $height = '1080 '; } elseif($_GET['size'] == '2') { $width = '1600'; $height = '1200 '; } elseif($_GET['size'] == '3') { $width = '1024'; $height = '768 '; } elseif($_GET['size'] == '4') { $width = '800'; $height = '600 '; }
  7. echo "<img src='".URL."imgs/".$img."' width='".$width."' height=".$height.">"; }
  8. break;
  9. ?>



Z gory dzieki i pozdrawiam

Ten post edytował blank_screen 3.08.2009, 12:08:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


ten skrypt worzy miniaturki o podanych wymiarach skaluje odpowiednio boki mozesz go sobie dostosować do swoich potrzeb
  1. <?php
  2. $obrazek = $_REQUEST['obrazek'];
  3. $max_szerokosc = $_REQUEST['max_szerokosc'];
  4. $max_wysokosc = $_REQUEST['max_wysokosc'];
  5.  
  6. if (!$max_szerokosc)
  7.  $max_szerokosc = 80;
  8. if (!$max_wysokosc)
  9.  $max_wysokosc = 60;
  10.  
  11. $rozmiar = GetImageSize($obrazek);
  12. $szerokosc = $rozmiar[0];
  13. $wysokosc = $rozmiar[1];
  14.  
  15. $wspolczynnik_x = $max_szerokosc / $szerokosc;
  16. $wspolczynnik_y = $max_wysokosc / $wysokosc;
  17.  
  18. if ( ($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc) ) {
  19.  $nowa_szerokosc = $szerokosc;
  20.  $nowa_wysokosc = $wysokosc;
  21. }
  22. else if (($wspolczynnik_x * $wysokosc) < $max_wysokosc) {
  23.  $nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc);
  24.  $nowa_szerokosc = $max_szerokosc;
  25. }
  26. else {
  27.  $nowa_szerokosc = ceil($wspolczynnik_y * $szerokosc);
  28.  $nowa_wysokosc = $max_wysokosc;
  29. }
  30.  
  31. $zrd = ImageCreateFromJpeg($obrazek);
  32. $prz = ImageCreateTrueColor($nowa_szerokosc,$nowa_wysokosc);
  33. Imagecopyresampled($prz, $zrd, 0, 0, 0, 0,
  34.    $nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc);
  35. header('Content-type: Image/jpeg');
  36. ImageJpeg($prz, null, -1);
  37. ImageDestroy($zrd);
  38. ImageDestroy($prz);
  39. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 14:25