亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP按一定比例壓縮圖片的方法

 更新時間:2018年10月12日 14:53:41   作者:一只勤奮的代碼狗  
這篇文章主要為大家詳細(xì)介紹了PHP按一定比例壓縮圖片的方法,保持清晰度具有一定的參考價值,感興趣的小伙伴們可以參考一下

圖片壓縮是我們?nèi)粘i_發(fā)中經(jīng)常使用的操作,在如今需求很多的情況往往,上傳的一張圖片會被壓縮成不同比例的圖片,每次去操作也是一件非常繁瑣的事情,于是進(jìn)行了封裝了一個壓縮圖片的操作類,希望大家遇到后,不用再為寫很多壓縮圖片代碼煩惱了。

壓縮圖片的工具類:

<?php
/**
 圖片壓縮操作類
 v1.0
*/
  class Image{
  
  private $src;
  private $imageinfo;
  private $image;
  public $percent = 0.1;
  public function __construct($src){
   
   $this->src = $src;
   
  }
  /**
  打開圖片
  */
  public function openImage(){
   
   list($width, $height, $type, $attr) = getimagesize($this->src);
   $this->imageinfo = array(
  
  'width'=>$width,
  'height'=>$height,
  'type'=>image_type_to_extension($type,false),
  'attr'=>$attr
   );
   $fun = "imagecreatefrom".$this->imageinfo['type'];
   $this->image = $fun($this->src);
  }
  /**
  操作圖片
  */
  public function thumpImage(){
   
   $new_width = $this->imageinfo['width'] * $this->percent;
  $new_height = $this->imageinfo['height'] * $this->percent;
  $image_thump = imagecreatetruecolor($new_width,$new_height);
  //將原圖復(fù)制帶圖片載體上面,并且按照一定比例壓縮,極大的保持了清晰度
  imagecopyresampled($image_thump,$this->image,0,0,0,0,$new_width,$new_height,$this->imageinfo['width'],$this->imageinfo['height']);
  imagedestroy($this->image); 
  $this->image = $image_thump;
  }
  /**
  輸出圖片
  */
  public function showImage(){
   
   header('Content-Type: image/'.$this->imageinfo['type']);
  $funcs = "image".$this->imageinfo['type'];
  $funcs($this->image);
   
  }
  /**
  保存圖片到硬盤
  */
  public function saveImage($name){
   
   $funcs = "image".$this->imageinfo['type'];
  $funcs($this->image,$name.'.'.$this->imageinfo['type']);
   
  }
  /**
  銷毀圖片
  */
  public function __destruct(){
   
   imagedestroy($this->image);
  }
  
  }
 
 
?>

測試:

<?php
 
 require 'image.class.php';
 $src = "001.jpg";
 $image = new Image($src);
 $image->percent = 0.2;
 $image->openImage();
 $image->thumpImage();
 $image->showImage();
 $image->saveImage(md5("aa123"));
 
 
?>

結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零開始學(xué)YII2框架(四)擴(kuò)展插件yii2-kartikgii

    從零開始學(xué)YII2框架(四)擴(kuò)展插件yii2-kartikgii

    yii2-kartikgii這個插件主要功能是幫助你在使用gii生成代碼curd的時候生成kartik-gird的。不需要每次用默認(rèn)的gii工具生成代碼之后再手動添加kartik-gird,這正是我想要的功能??焖偕蒶artik-grid。
    2014-08-08
  • Laravel框架定時任務(wù)2種實現(xiàn)方式示例

    Laravel框架定時任務(wù)2種實現(xiàn)方式示例

    這篇文章主要介紹了Laravel框架定時任務(wù)2種實現(xiàn)方式,結(jié)合實例形式較為詳細(xì)的分析了Laravel框架定時任務(wù)相關(guān)實現(xiàn)方法及操作注意事項,需要的朋友可以參考下
    2018-12-12
  • Laravel Memcached緩存驅(qū)動的配置與應(yīng)用方法分析

    Laravel Memcached緩存驅(qū)動的配置與應(yīng)用方法分析

    這篇文章主要介紹了Laravel Memcached緩存驅(qū)動的配置與應(yīng)用方法,結(jié)合實例形式分析了在Laravel框架配置Memcached緩存及相關(guān)使用方法,需要的朋友可以參考下
    2016-10-10
  • 以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式

    以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式

    這篇文章主要介紹了以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • yii的CURD操作實例詳解

    yii的CURD操作實例詳解

    這篇文章主要介紹了yii的CURD操作技巧,以實例形式詳細(xì)分析了基于yii框架的增刪改查的具體用法,非常具有實用價值,需要的朋友可以參考下
    2014-12-12
  • 如何重寫Laravel異常處理類詳解

    如何重寫Laravel異常處理類詳解

    這篇文章主要給大家介紹了關(guān)于如何重寫Laravel異常處理類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • php結(jié)合ajax實現(xiàn)手機發(fā)紅包的案例

    php結(jié)合ajax實現(xiàn)手機發(fā)紅包的案例

    發(fā)紅包功能,當(dāng)我們輸入紅包數(shù)量和總金額后,PHP會根據(jù)這兩個值進(jìn)行隨機分配每個金額,保證每個人都能領(lǐng)取到一個紅包,每個紅包金額不等,就是要求紅包金額要有差異,所有紅包金額總額應(yīng)該等于總金額。
    2016-10-10
  • PHP實現(xiàn)的英文名字全拼隨機排號腳本

    PHP實現(xiàn)的英文名字全拼隨機排號腳本

    這篇文章主要介紹了PHP實現(xiàn)的英文名字全拼隨機排號腳本,根據(jù)一個需求寫出的一個解決方案,需要的朋友可以參考下
    2014-07-07
  • php 創(chuàng)建以UNIX時間戳命名的文件夾(示例代碼)

    php 創(chuàng)建以UNIX時間戳命名的文件夾(示例代碼)

    這篇文章主要介紹了php創(chuàng)建以UNIX時間戳命名的文件夾(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助
    2014-03-03
  • laravel-admin自動生成模塊,及相關(guān)基礎(chǔ)配置方法

    laravel-admin自動生成模塊,及相關(guān)基礎(chǔ)配置方法

    今天小編就為大家分享一篇laravel-admin自動生成模塊,及相關(guān)基礎(chǔ)配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10

最新評論