2019-07-19 15:29:26 3223瀏覽
圖片壓縮是我們?nèi)粘i_發(fā)中經(jīng)常使用的操作,在如今需求很多的情況往往,上傳的一張圖片會被壓縮成不同比例的圖片,每次去操作也是一件非常繁瑣的事情,本篇文章扣丁學堂PHP培訓小編給讀者們分享一下PHP按一定比例壓縮圖片的方法,感興趣的小伙伴就隨小編來了解一下吧,希望對大家有幫助。
壓縮圖片的工具類:
測試:
<?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);
//將原圖復制帶圖片載體上面,并且按照一定比例壓縮,極大的保持了清晰度
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"));
?>
以上就是扣丁學堂PHP在線學習小編給大家分享的PHP按一定比例壓縮圖片的方法,希望對小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學堂官網(wǎng)咨詢。
想要學好PHP開發(fā)小編給大家推薦口碑良好的扣丁學堂,扣丁學堂有專業(yè)老師制定的PHP學習路線圖輔助學員學習,此外還有與時俱進的PHP課程體系和PHP視頻教程供大家學習,想要學好PHP開發(fā)技術(shù)的小伙伴快快行動吧??鄱W堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號獲取更多學習資料】 【掃碼進入Python全棧開發(fā)免費公開課】
查看更多關(guān)于“php培訓資訊”的相關(guān)文章>>