Guest User

Untitled

a guest
Nov 17th, 2020
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.59 KB | None | 0 0
  1.     private function thumbnail($src, $dist, $dis_width = 100)
  2.     {
  3.  
  4.         $img = '';
  5.         $extension = strtolower(strrchr($src, '.'));
  6.         switch ($extension) {
  7.             case '.jpg':
  8.             case '.jpeg':
  9.                 $img = @imagecreatefromjpeg($src);
  10.                 break;
  11.             case '.gif':
  12.                 $img = @imagecreatefromgif($src);
  13.                 break;
  14.             case '.png':
  15.                 $img = @imagecreatefrompng($src);
  16.                 break;
  17.         }
  18.         $width = imagesx($img);
  19.         $height = imagesy($img);
  20.  
  21.  
  22.         $dis_height = $dis_width * ($height / $width);
  23.  
  24.         $new_image = imagecreatetruecolor($dis_width, $dis_height);
  25.         imagecopyresampled($new_image, $img, 0, 0, 0, 0, $dis_width, $dis_height, $width, $height);
  26.  
  27.  
  28.         $imageQuality = 100;
  29.  
  30.         switch ($extension) {
  31.             case '.jpg':
  32.             case '.jpeg':
  33.                 if (imagetypes() & IMG_JPG) {
  34.                     imagejpeg($new_image, $dist, $imageQuality);
  35.                 }
  36.                 break;
  37.  
  38.             case '.gif':
  39.                 if (imagetypes() & IMG_GIF) {
  40.                     imagegif($new_image, $dist);
  41.                 }
  42.                 break;
  43.  
  44.             case '.png':
  45.                 $scaleQuality = round(($imageQuality / 100) * 9);
  46.                 $invertScaleQuality = 9 - $scaleQuality;
  47.  
  48.                 if (imagetypes() & IMG_PNG) {
  49.                     imagepng($new_image, $dist, $invertScaleQuality);
  50.                 }
  51.                 break;
  52.         }
  53.         imagedestroy($new_image);
  54.     }
Advertisement
Add Comment
Please, Sign In to add comment