> 백엔드 개발 > PHP 튜토리얼 > PHP는 특정 비율로 이미지를 압축합니다(명확성 유지).

PHP는 특정 비율로 이미지를 압축합니다(명확성 유지).

藏色散人
풀어 주다: 2023-04-08 06:42:02
앞으로
3202명이 탐색했습니다.

이미지 압축은 일상적인 개발에서 자주 사용되는 작업입니다. 오늘날 요구 사항이 많은 상황에서는 업로드된 이미지를 다른 비율의 이미지로 압축하는 것도 매번 작업하는 것이 매우 번거롭기 때문에 수행했습니다. 이는 이미지 압축을 위한 작업 클래스를 캡슐화합니다. 이 클래스를 만난 후에는 더 이상 이미지를 압축하기 위해 많은 코드를 작성하는 것에 대해 걱정할 필요가 없기를 바랍니다.

이미지 압축 도구:

<?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(
&#39;width&#39;=>$width,
&#39;height&#39;=>$height,
&#39;type&#39;=>image_type_to_extension($type,false),
&#39;attr&#39;=>$attr
   );
   $fun = "imagecreatefrom".$this->imageinfo[&#39;type&#39;];
   $this->image = $fun($this->src);
   }
   /**
   操作图片
   */
   public function thumpImage(){
   
    $new_width = $this->imageinfo[&#39;width&#39;] * $this->percent;
$new_height = $this->imageinfo[&#39;height&#39;] * $this->percent;
$image_thump = imagecreatetruecolor($new_width,$new_height);
//将原图复制带图片载体上面,并且按照一定比例压缩,极大的保持了清晰度
imagecopyresampled($image_thump,$this->image,0,0,0,0,$new_width,$new_height,$this->imageinfo[&#39;width&#39;],$this->imageinfo[&#39;height&#39;]);
imagedestroy($this->image);
$this->image = $image_thump;
   }
   /**
   输出图片
   */
   public function showImage(){
   
    header(&#39;Content-Type: image/&#39;.$this->imageinfo[&#39;type&#39;]);
$funcs = "image".$this->imageinfo[&#39;type&#39;];
$funcs($this->image);
   
   }
   /**
   保存图片到硬盘
   */
   public function saveImage($name){
   
    $funcs = "image".$this->imageinfo[&#39;type&#39;];
$funcs($this->image,$name.&#39;.&#39;.$this->imageinfo[&#39;type&#39;]);
   
   }
   /**
   销毁图片
   */
   public function __destruct(){
   
   imagedestroy($this->image);
   }
   
   }
 
 
?>
로그인 후 복사

테스트:

<?php
require &#39;image.class.php&#39;;
$src = "001.jpg";
$image = new Image($src);
$image->percent = 0.2;
$image->openImage();
$image->thumpImage();
$image->showImage();
$image->saveImage(md5("aa123"));
 
 
?>
로그인 후 복사

결과:

PHP는 특정 비율로 이미지를 압축합니다(명확성 유지).

PHP 관련 지식을 더 보려면 PHP 튜토리얼을 방문하세요!

위 내용은 PHP는 특정 비율로 이미지를 압축합니다(명확성 유지).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿