Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przerobienie fukncji
microh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

Ostrzeżenie: (10%)
X----


Jak mogę przerobić tę funkcję, lub z jakim parametrem ja wywołać aby zmniejszone obrazki zapisywały sie w katalogu obrazki/

Dotychczas probowałem:
  1. <?php
  2. $elo = resizeImage($_POST['miniaturka'],130,97,'obrazki/'.$kod);
  3. ?>


ale to dawalo tylko błąd.

Proszę o instrukcje, oto wspomniana funkcja:

  1. <?php
  2. function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 97)
  3. {
  4.  /*
  5. * source - obrazek jpeg
  6. * max_x - maksymalna szerokosc pomniejszonego obrazka
  7. * max_y - maksymalna dlugosc pomniejszonego obrazka
  8. * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
  9. * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
  10. */
  11.  
  12. if(imgType($source) == 'IMAGETYPE_JPEG')
  13. {
  14.  $img_src = imagecreatefromjpeg($source);
  15. }
  16. elseif(imgType($source) == 'IMAGETYPE_GIF')
  17. {
  18.  $img_src = imagecreatefromgif($source);
  19. }
  20. elseif(imgType($source) == 'IMAGETYPE_PNG')
  21. {
  22.  $img_src = imagecreatefrompng($source);
  23. }
  24. else
  25. {
  26.  die('Błąd!! Akceptowane typy obrazków to: JPG/JPEG, GIF, PNG');
  27. }
  28.  
  29.  $image_x = imagesx($img_src);
  30.  $image_y = imagesy($img_src);
  31.  if($image_x > $image_y) // Landscape
  32.  {
  33. $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  34. $ratio_y = $ratio_x;
  35. $move = 'y';
  36.  }
  37.  else // Portrait
  38.  {
  39. $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  40. $ratio_x = $ratio_y;
  41. $move = 'x';
  42.  }
  43. $new_x = $image_x*$ratio_x;
  44. $new_y = $image_y*$ratio_y;
  45.  
  46. $move_x = ($move == 'x') ? ($max_x-$new_x)/: 0;
  47. $move_y = ($move == 'y') ? ($max_y-$new_y)/: 0;
  48.  
  49. $new_img = imagecreatetruecolor($max_x, $max_y);
  50. $background = imagecolorallocate($new_img, 255, 255, 255);
  51. imagefill($new_img, 0, 0, $background);
  52. imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);
  53.  
  54. if(imgType($save_image) == 'IMAGETYPE_JPEG')
  55. {
  56.  imagejpeg($new_img, $save_image, 100);
  57. }
  58. elseif(imgType($save_image) == 'IMAGETYPE_GIF')
  59. {
  60.  imagegif($new_img,$save_image);
  61. }
  62. elseif(imgType($save_image) == 'IMAGETYPE_PNG')
  63. {
  64.  imagepng($new_img, $save_image);
  65. }
  66.  
  67. }
  68. ?>


Ten post edytował microh 26.10.2007, 09:10:38
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: 23.08.2025 - 01:58