Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Proporcje zdjec
Forum PHP.pl > Forum > PHP
miSq
Malutkie pytanie i prosilbym o szybko odpowiedz biggrin.gif

A więc robie "auto-komis" dla pewnej firmy. Jest prawie skonczona tj. komis samochodowy i mam pytanie. Jak zrobić dla zdjęcia proporcje. Hmmm tzn zeby pomniejszyc zdjęcie proporcjonalnie. Np. zdjecie ma wielkosc 434x743 i chce aby zdjecie na stronie mialo szerokosc 218 a wysokosc byla proporcjonalna.

Jak pobrac wielkosc zdjecia i wyciagnac z tego szerokosc i wysokosc zby byly osobnymi zmiennymi. Hmm nie wiem jak to napisac poprawnie:

Zdjecie: 640x480
$x=640;
$y=480;

O tak walsnie biggrin.gif Wiem ze to smieszny sposób tlumaczenia ale zawsze pewny tongue.gif

Z góry dziekuje za wszystkie pomocne wskazówki.
a79rtur
ja cos takiego sobie skleciłem , wystarczy przerobic :
  1. <?php
  2.  
  3. //funkcja konwertuje plik na format jpeg skalauje wymiary do podanych maksymalnych
  4. i zapisuje w podanym miejscu
  5. function konwersja($sciezka_src,$sciezka_dst,$wysokosc_max,$szerokosc_max)
  6. {
  7. list($szerokosc_src,$wysokosc_src,$typ_src) = getimagesize($sciezka_src);
  8.  
  9. $typ_src_mime=image_type_to_mime_type($typ_src);
  10. switch ($typ_src_mime) {
  11.  case 'image/pjpeg':
  12.  case 'image/jpeg':
  13. $img_src = ImageCreateFromJPEG($sciezka_src);
  14.  break;
  15.  
  16.  case 'image/x-png':
  17.  case 'image/png':
  18. $img_src = ImageCreateFromPNG($sciezka_src);
  19.  break;
  20.  
  21.  case 'image/gif':
  22. $img_src = ImageCreateFromGIF($sciezka_src);  
  23.  break;
  24. }
  25.  
  26. if(($wysokosc_max<$wysokosc_src) or ($szerokosc_max<$szerokosc_src))
  27. {
  28. if($wysokosc_src>$wysokosc_max) //skaluj do wysokosci
  29. {
  30. $wysokosc_dst=$wysokosc_max;
  31. $wsp=$wysokosc_max/$wysokosc_src; //wspolczynnik skalowania
  32. $szerokosc_dst=round($wsp*$szerokosc_src);
  33.  
  34. } else { //skaluj do szerokosci
  35.  
  36. $szerokosc_dst=$szerokosc_max;
  37. $wsp=$szerokosc_max/$szerokosc_src;
  38. $wysokosc_dst=round($wsp*$wysokosc_src);
  39. }
  40.  
  41. } else { //jesli wymiary obrazka sa mniejsze lub rowne rozmiarowi maksymalnego
  42. $szerokosc_dst=$szerokosc;
  43. $wysokosc_dst=$obrazek_max_h;
  44. }
  45.  
  46. $img_dst=ImageCreateTrueColor($szerokosc_dst,$wysokosc_dst);
  47.  
  48. ImageCopyResampled($img_dst, $img_src, 0, 0, 0, 0, $szerokosc_dst, $wysokosc_dst, $szerokosc_src, 
  49.  
  50. $wysokosc_src);
  51.  
  52. ImageJPEG($img_dst,$sciezka_dst,70);
  53. ImageDestroy($img_src);
  54. ImageDestroy($img_dst);
  55. }
  56.  
  57. ?>
emes_
jak nie potrzebujesz przerabiac zdjecia, wpisz w <img src tylko width=" "> i sie przeskaluje automatycznie zachowujac proporcje
dr_bonzo
Tylko ze przy duzej zmianie wymiarow obrazek bedzie wygladal paskudnie.
kicaj
Bylo juz kilka razy na forum, wystarczy poszukac,
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.