程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php簡單縮略圖類|image.class.php

php簡單縮略圖類|image.class.php

編輯:關於PHP編程

     使用方法:


    $img = new iamge;
    $img->resize('dstimg.jpg', 'srcimg.jpg', 300, 400);
    說明:這個是按照比例縮放,dstimg.jpg是目標文件,srcimg.jpg是源文件,後面的是目標文件的寬和高
    $img->thumb('dstimg.jpg', 'scrimg.jpg', 300, 300);
    說明:這個是按照比例縮略圖,比如常用在頭像縮略圖的時候,dstimg.jpg是目標文件,srcimg.jpg是源文件,後面的是目標文件的寬和高
    這個是針對GD庫才這樣麻煩的,如果采用Imagick的話,就只需要兩個函數就實現上面的功能,去查下文檔就找到了。

     

    <?php
    class image{
     
     public function resize($dstImg, $srcImg, $dstW, $dstH){
      list($srcW, $srcH) = getimagesize($srcImg);
      $scale = min($dstW/$srcW, $dstH/$srcH);
            $newW = round($srcW * $scale);
            $newH = round($srcH * $scale);
      $newImg = imagecreatetruecolor($newW, $newH);
      $srcImg = imagecreatefromjpeg($srcImg);
      imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newW, $newH, $srcW, $srcH);
      imagejpeg($newImg, $dstImg);
     }
     
     public function thumb($dstImg, $srcImg, $dstW, $dstH){
      list($srcW, $srcH) = getimagesize($srcImg);
      $scale = max($dstW/$srcW, $dstH/$srcH);
      $newW = round($dstW/$scale);
      $newH = round($dstH/$scale);
      $x = ($srcW - $newW)/2;
      $y = ($srcH - $newH)/2;
      $newImg = imagecreatetruecolor($dstW, $dstH);
      $srcImg = imagecreatefromjpeg($srcImg);
      imagecopyresampled($newImg, $srcImg, 0, 0, $x, $y, $dstW, $dstH, $newW, $newH);
      imagejpeg($newImg, $dstImg);
     }
      
    }

    function createFromType($type, $srcImg){
     $function = "imagecreatefrom$type";
     return $function($srcImg);
    }
    //為了解決不同圖片格式的問題

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved