Maison  >  Article  >  développement back-end  >  Exemple de méthode PHP pour compresser la taille de l'image et la convertir en conseils au format jpg_php

Exemple de méthode PHP pour compresser la taille de l'image et la convertir en conseils au format jpg_php

jacklove
jackloveoriginal
2018-06-25 17:12:201875parcourir

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

Articles qui pourraient vous intéresser :

Exemple de méthode PHP pour mémoriser l'état lors de la recherche_php conseils

Les étapes complètes du projet Laravel utilisant twemproxy pour déployer l'instance PHP du cluster Redis

Comment activer Opcode dans PHP7 pour créer des performances puissantes avec une explication détaillée des techniques php








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