Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Resize GD
sajborg
post
Post #1





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

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


Witam Mam taki skrypcik i jak go przerobic zeby działał na jpeg, jpg, gif, png, bmp bo teraz bmp nie dziala i gif zamienia na jpg
  1. <?php
  2. function resizeImage($src,$dest,$maxWidth,$maxHeight,$quality=100) {
  3.  if (file_exists($src) && isset($dest)) {
  4.  // path info
  5.  $destInfo = pathInfo($dest);
  6.  
  7.  // image src size
  8.  $srcSize = getImageSize($src);
  9.  // image dest size $destSize[0] = width, $destSize[1] = height
  10.  $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio
  11.  $destRatio = $maxWidth/$maxHeight;
  12.  if ($destRatio > $srcRatio) {
  13.  $destSize[1] = $maxHeight;
  14.  $destSize[0] = $maxHeight*$srcRatio;
  15.  }
  16.  else {
  17.  $destSize[0] = $maxWidth;
  18.  $destSize[1] = $maxWidth/$srcRatio;
  19.  }
  20.  
  21.  // path rectification
  22. if ($destInfo['extension'] == "gif") {
  23.  $dest = substr_replace($dest, 'jpg', -3);
  24.  }
  25.  
  26.  // true color image, with anti-aliasing
  27.  $destImage = imagecreatetruecolor($destSize[0],$destSize[1]);
  28.  
  29.  // src image
  30.  switch ($srcSize[2]) {
  31.  case 1: //GIF
  32.  $srcImage = imageCreateFromGif($src);
  33.  break;
  34.  
  35.  case 2: //JPEG
  36.  $srcImage = imageCreateFromJpeg($src);
  37.  break;
  38.  
  39.  case 3: //PNG
  40.  $srcImage = imageCreateFromPng($src);
  41.  break;
  42.  
  43.  default:
  44.  return false;
  45.  break;
  46.  }
  47.  
  48.  imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
  49.  
  50.  switch ($srcSize[2]) {
  51.  case 1:
  52.  case 2:
  53.  imageJpeg($destImage,$dest,$quality);
  54.  break;
  55.  
  56.  case 3:
  57.  imagePng($destImage,$dest);
  58.  break;
  59.  }
  60.  return true;
  61.  }
  62.  else {
  63.  return false;
  64.  }
  65. }
  66. ?>


--------------------
Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E
___________________________________________________
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 09:26