Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wielkosc obrazkow
Forum PHP.pl > Forum > PHP
beto
mam skrypcik ktory robi miniaturki obrazkow, ale musze w nim podac dwie wielkosci wysokosc i szerokosc, jak zrobic zeby wpisywac tylko szerokosc a obrazek automatycznie dopasuje wysokosc . chodzi mi o zachowanie proporcji, zeby cos kwadratowego sie np. nie rozciagnelo.


czesc skryptu odpowiedzialna za wielkosc
  1. <?php
  2.  
  3. $x = imagesx($src); 
  4. $y = imagesy($src); 
  5.  
  6. $x1 = imagesx($src); 
  7. $y1 = imagesy($src); 
  8.  
  9. $final_x = 250; 
  10. $final_y = 250; 
  11.  
  12. $tmp_x = 0; 
  13. $tmp_y = 0; 
  14.  
  15. $final_x1 = 120; 
  16. $final_y1 = 150; 
  17.  
  18. $tmp_x1 = 0; 
  19. $tmp_y1 = 0;
  20.  
  21. if($y<$x) $tmp_x = ceil(($x-$final_x*$y/$final_y)/2); 
  22. elseif($x<$y) $tmp_y = ceil(($y-$final_y*$x/$final_x)/2); 
  23.  
  24.  
  25.  if($y1<$x1) $tmp_x1 = ceil(($x1-$final_x1*$y1/$final_y1)/2); 
  26. elseif($x1<$y1) $tmp_y1 = ceil(($y1-$final_y1*$x1/$final_x1)/2); 
  27.  
  28.  
  29.  
  30.  
  31. $nowe_zdjecie = imagecreatetruecolor($final_x, $final_y); 
  32.  
  33. $nowe_zdjecie1 = imagecreatetruecolor($final_x1, $final_y1);
  34.  
  35. imagecopyresampled($nowe_zdjecie, $src, 0, 0, 0, 0, $final_x, $final_y, $x-2*$tmp_x, 
  36.  
  37. $y-2*$tmp_y); 
  38.  
  39. imagejpeg($nowe_zdjecie, "./fileupload/uploads/a$zdjecie.jpg", 100);
  40.  
  41.  
  42. imagecopyresampled($nowe_zdjecie1, $src, 0, 0, 0, 0, $final_x1, $final_y1, $x1-2*$tmp_x1, 
  43.  
  44. $y1-2*$tmp_y1); 
  45.  
  46. imagejpeg($nowe_zdjecie1, "./fileupload/uploads/mini/a$zdjecie.jpg", 100);
  47. ?>




Pozdrawiam
TOMASZ
mdco
  1. <?php
  2.  
  3. $size=getimagesize($plik);
  4. $nowa_szerokosc=50;
  5. $nowa_wysokosc=($nowa_szerokosc/$size[0])*$size[1];
  6.  
  7. ?>

Oczywiście nazwy zmiennych musisz odnieść opowiednio do swojego skryptu.
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.