Home  >  Article  >  Backend Development  >  Example of how to compress image size and convert to jpg format using PHP

Example of how to compress image size and convert to jpg format using PHP

不言
不言Original
2018-06-01 13:46:051337browse

This article mainly introduces the method of PHP to compress image size and convert it to jpg format, involving PHP's related operating skills for image reading, calculation, conversion, output, etc. Friends who need it can refer to it

The example in this article describes how PHP compresses image size and converts it to jpg format. Share it with everyone for your reference, the details are as follows:

<?php
function ImageToJPG($srcFile,$dstFile,$towidth,$toheight)
{
  $quality=80;
  $data = @GetImageSize($srcFile);
  switch ($data[&#39;2&#39;])
  {
  case 1:
    $im = imagecreatefromgif($srcFile);
    break;
  case 2:
    $im = imagecreatefromjpeg($srcFile);
    break;
  case 3:
    $im = imagecreatefrompng($srcFile);
    break;
  case 6:
  $im = ImageCreateFromBMP( $srcFile );
  break;
  }
  // $dstX=$srcW=@ImageSX($im);
  // $dstY=$srcH=@ImageSY($im);
  $srcW=@ImageSX($im);
  $srcH=@ImageSY($im);
  //$towidth,$toheight
  if($toheight/$srcW > $towidth/$srcH){
    $b = $toheight/$srcH;
  }else{
    $b = $towidth/$srcW;
  }
  //计算出图片缩放后的宽高
  // floor 舍去小数点部分,取整
  $new_w = floor($srcW*$b);
  $new_h = floor($srcH*$b);
  $dstX=$new_w;
  $dstY=$new_h;
  $ni=@imageCreateTrueColor($dstX,$dstY);
  @ImageCopyResampled($ni,$im,0,0,0,0,$dstX,$dstY,$srcW,$srcH);
  @ImageJpeg($ni,$dstFile,$quality);
  @imagedestroy($im);
  @imagedestroy($ni);
}
//ImageToJPG(&#39;源文件名&#39;,&#39;目标文件名&#39;,目标宽,目标高);
ImageToJPG(&#39;test2.png&#39;,&#39;test2.jpg&#39;,80,50);

##Related recommendations:

PHP7 is based on curl Implemented image upload function

PHP implements multiple image upload and single image upload functions

The above is the detailed content of Example of how to compress image size and convert to jpg format using PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn