Maison  >  Article  >  développement back-end  >  Exemple de compression de la taille d'une image et de conversion au format jpg à l'aide de PHP

Exemple de compression de la taille d'une image et de conversion au format jpg à l'aide de PHP

不言
不言original
2018-06-01 13:46:051340parcourir

Cet article présente principalement la méthode PHP de compression de la taille de l'image et de sa conversion au format jpg, impliquant les compétences opérationnelles associées de PHP pour la lecture, le calcul, la conversion, la sortie, etc. des images. Les amis qui en ont besoin peuvent s'y référer

L'exemple de cet article décrit la méthode de compression de la taille de l'image et de sa conversion au format jpg en PHP. Partagez-le avec tout le monde pour référence, comme suit :

<?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);

Recommandations associées :

Fonction de téléchargement d'images PHP7 implémentée sur la base de curl

PHP implémente les fonctions de téléchargement de plusieurs images et de téléchargement d'images uniques

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn