Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Miniaturki - problem
Forum PHP.pl > Forum > Przedszkole
ferr
  1. <?php
  2. function add_foto() {
  3.  function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100)
  4. {
  5.  /*
  6. * source - obrazek jpeg
  7. * max_x - maksymalna szerokosc pomniejszonego obrazka
  8. * max_y - maksymalna dlugosc pomniejszonego obrazka
  9. * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
  10. * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
  11. */
  12.  
  13.  
  14.  $img_src = imagecreatefromjpeg($source);
  15.  
  16.  
  17.  $image_x = imagesx($img_src);
  18.  $image_y = imagesy($img_src);
  19.  if($image_x > $image_y) // Landscape
  20.  {
  21. $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  22. $ratio_y = $ratio_x;
  23. $move = 'y';
  24.  }
  25.  else // Portrait
  26.  {
  27. $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  28. $ratio_x = $ratio_y;
  29. $move = 'x';
  30.  }
  31. $new_x = $image_x*$ratio_x;
  32. $new_y = $image_y*$ratio_y;
  33.  
  34. $move_x = ($move == &#092;"x\") ? ($max_x-$new_x)/2 : 0;
  35. $move_y = ($move == &#092;"y\") ? ($max_y-$new_y)/2 : 0;
  36.  
  37. $new_img = imagecreatetruecolor($max_x, $max_y);
  38. $background = imagecolorallocate($new_img, 255, 255, 255);
  39. imagefill($new_img, 0, 0, $background);
  40. imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);
  41.  
  42.  
  43.  imagejpeg($new_img, $save_image, 100);
  44.  
  45.  
  46.  
  47. }
  48. $uploaddir = 'foto/';
  49.  
  50. $s = $_FILES['obrazek']['tmp_name'];
  51. $i = $uploaddir . $_FILES['obrazek']['name'];
  52.  resizeImage($s, 72, 100, $i, 100); // (5 parametr opcjonalnie dla jpg)
  53. ?>


Pozwolilem sobie zaczerpnac funkcje zmniejszania obrazkow z tutejszego forum. Mam jednak problem, ktory brzmi nastepujaco. Gdy mam obrazek poziomy do zmiejszenia, skrypt zmniejsza go w nastepujacy sposob: http://ferr.vbiz.pl/IM000019poprw.JPG. Chcialbym wiec poznac jaka tkwi przyczyna tego, ze skrypt zamiast zrobic z niego pionowy obrazek, dodaje biale miejsca z gory i dolu.
q
ta funkcja tak dziala i nie powstaje tu zaden blad, tak wlasnie zostala napisana, aby przy obrazkach dostosowywac sie do tego co wpisales w wywolaniu funkcji, a nie skalowac szerokosc do wysokosci badz odwrotnie, a pozostale miejsce wypelnia kolorem [manula]imagefill[/manual]. poszukaj na forum , funkcja o jaka ci chodzi byla wielokrotnie

np. http://forum.php.pl/index.php?showtopic=27096&hl=miniaturki
ferr
ok, rozejrze sie w innych skryptach tego typu, dzieki
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.