亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語(yǔ)言

PHP生成縮略圖的類(lèi)的方法

時(shí)間:2024-07-11 12:22:38 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP生成縮略圖的類(lèi)的方法

  PHP獨(dú)特的語(yǔ)法混合了C、Java、Perl以及PHP自創(chuàng)的語(yǔ)法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。以下是小編為大家搜索整理的PHP生成縮略圖的類(lèi)的方法 ,歡迎閱讀!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  PHP代碼

  /**

  * 功能:生成縮略圖

  * 作者:phpox

  * 日期:Thu May 17 09:57:05 CST 2007

  */

  class CreatMiniature

  {

  //公共變量

  var $srcFile=""; //原圖

  var $echoType; //輸出圖片類(lèi)型,link--不保存為文件;file--保存為文件

  var $im=""; //臨時(shí)變量

  var $srcW=""; //原圖寬

  var $srcH=""; //原圖高

  //設(shè)置變量及初始化

  function SetVar($srcFile,$echoType)

  {

  if (!file_exists($srcFile)){

  echo '源圖片文件不存在!';

  exit();

  }

  $this->srcFile=$srcFile;

  $this->echoType=$echoType;

  $info = "";

  $data = GetImageSize($this->srcFile,$info);

  switch ($data[2])

  {

  case 1:

  if(!function_exists("imagecreatefromgif")){

  echo "你的GD庫(kù)不能使用GIF格式的圖片,請(qǐng)使用Jpeg或PNG格式!返回";

  exit();

  }

  $this->im = ImageCreateFromGIF($this->srcFile);

  break;

  case 2:

  if(!function_exists("imagecreatefromjpeg")){

  echo "你的GD庫(kù)不能使用jpeg格式的圖片,請(qǐng)使用其它格式的圖片!;

  exit();

  }

  $this->im = ImageCreateFromJpeg($this->srcFile);

  break;

  case 3:

  $this->im = ImageCreateFromPNG($this->srcFile);

  break;

  }

  $this->srcW=ImageSX($this->im);

  $this->srcH=ImageSY($this->im);

  }

  //生成扭曲型縮圖

  function Distortion($toFile,$toW,$toH)

  {

  $cImg=$this->CreatImage($this->im,$toW,$toH,0,0,0,0,$this->srcW,$this->srcH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  }

  //生成按比例縮放的縮圖

  function Prorate($toFile,$toW,$toH)

  {

  $toWH=$toW/$toH;

  $srcWH=$this->srcW/$this->srcH;

  if($toWH<=$srcWH)

  {

  $ftoW=$toW;

  $ftoH=$ftoW*($this->srcH/$this->srcW);

  }

  else

  {

  $ftoH=$toH;

  $ftoW=$ftoH*($this->srcW/$this->srcH);

  }

  if($this->srcW>$toW||$this->srcH>$toH)

  {

  $cImg=$this->CreatImage($this->im,$ftoW,$ftoH,0,0,0,0,$this->srcW,$this->srcH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  }

  else

  {

  $cImg=$this->CreatImage($this->im,$this->srcW,$this->srcH,0,0,0,0,$this->srcW,$this->srcH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  }

  }

  //生成最小裁剪后的縮圖

  function Cut($toFile,$toW,$toH)

  {

  $toWH=$toW/$toH;

  $srcWH=$this->srcW/$this->srcH;

  if($toWH<=$srcWH)

  {

  $ctoH=$toH;

  $ctoW=$ctoH*($this->srcW/$this->srcH);

  }

  else

  {

  $ctoW=$toW;

  $ctoH=$ctoW*($this->srcH/$this->srcW);

  }

  $allImg=$this->CreatImage($this->im,$ctoW,$ctoH,0,0,0,0,$this->srcW,$this->srcH);

  $cImg=$this->CreatImage($allImg,$toW,$toH,0,0,($ctoW-$toW)/2,($ctoH-$toH)/2,$toW,$toH);

  return $this->EchoImage($cImg,$toFile);

  ImageDestroy($cImg);

  ImageDestroy($allImg);

  }

  //生成背景填充的縮圖

  function BackFill($toFile,$toW,$toH,$bk1=255,$bk2=255,$bk3=255)

  {

  $toWH=$toW/$toH;

  $srcWH=$this->srcW/$this->srcH;

  if($toWH<=$srcWH)

  {

  $ftoW=$toW;

  $ftoH=$ftoW*($this->srcH/$this->srcW);

  }

【PHP生成縮略圖的類(lèi)的方法】相關(guān)文章:

php生成圖片縮略圖的方法08-23

php生成縮略圖的兩種方法05-24

php生成縮略圖的兩種方法(代碼)08-08

php生成高清縮略圖實(shí)例08-12

PHP生成Word文檔的方法06-28

php生成圓角圖片的方法技巧07-20

PHP學(xué)習(xí):QRCode PHP生成二維碼類(lèi)庫(kù)10-28

PHP編程:類(lèi)和對(duì)象、方法調(diào)用09-26

php備份數(shù)據(jù)庫(kù)類(lèi)的方法09-04

php動(dòng)態(tài)生成JavaScript代碼10-03