Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Miniaturki - problem
ferr
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


  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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
q
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 4.04.2003
Skąd: Częstochowa/Wrocław

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


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





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


ok, rozejrze sie w innych skryptach tego typu, dzieki
Go to the top of the page
+Quote Post

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: 22.08.2025 - 22:35