Maison  >  Article  >  développement back-end  >  Introduction aux exemples d'images de zoom php

Introduction aux exemples d'images de zoom php

怪我咯
怪我咯original
2017-07-10 11:57:341591parcourir

Définissez la largeur, la hauteur et l'échelle dans des proportions inégales ; définissez la largeur et l'échelle dans des proportions égales ; définissez l'échelle proportionnellement à 50 % ; l'utilisation spécifique est la suivante, les amis intéressés peuvent en savoir plus sur


Comment utiliser :

Définir la largeur et la hauteur, et mettre à l'échelle à différentes proportions

Le code est le suivant :

<?php 
include(&#39;SimpleImage.php&#39;); 
$image = new SimpleImage(); 
$image->load(&#39;picture.jpg&#39;); 
$image->resize(250,400); 
$image->save(&#39;picture2.jpg&#39;);?> 

设定宽度,等比例缩放

<?php 
include(&#39;SimpleImage.php&#39;); 
$image = new SimpleImage(); 
$image->load(&#39;picture.jpg&#39;); 
$image->resizeToWidth(250); 
$image->save(&#39;picture2.jpg&#39;);?> 

设定高度,等比例缩放

<?php 
include(&#39;SimpleImage.php&#39;); 
$image = new SimpleImage(); 
$image->load(&#39;picture.jpg&#39;); 
$image->resizeToHeight(500); 
$image->save(&#39;picture2.jpg&#39;); 
$image->resizeToHeight(200); 
$image->save(&#39;picture3.jpg&#39;);?> 

按比例,缩放至50%

<?php 
include(&#39;SimpleImage.php&#39;); 
$image = new SimpleImage(); 
$image->load(&#39;picture.jpg&#39;); 
$image->scale(50); 
$image->save(&#39;picture2.jpg&#39;);?>

缩放后直接输出到屏幕

<?php 
header(&#39;Content-Type: image/jpeg&#39;); 
include(&#39;SimpleImage.php&#39;); 
$image = new SimpleImage(); 
$image->load(&#39;picture.jpg&#39;); 
$image->resizeToWidth(150); 
$image->output();?>

Parfois, lorsque télécharge des images, les images sont trop grandes, ce qui non seulement prend de la place et consomme du trafic , mais affecte également la navigation (les tailles des images varient) ). Partageons une méthode de mise à l'échelle des images dans des proportions égales sans distorsion. De cette façon, quelle que soit la taille de l'image téléchargée, elle sera automatiquement compressée selon la plage de valeurs de taille que nous avons définie. Pratique testée et éprouvée.

<?php
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
 {
 $pic_width = imagesx($im);
 $pic_height = imagesy($im);
 if(($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight))
 {
  if($maxwidth && $pic_width>$maxwidth)
  {
  $widthratio = $maxwidth/$pic_width;
  $resizewidth_tag = true;
  }
  if($maxheight && $pic_height>$maxheight)
  {
  $heightratio = $maxheight/$pic_height;
  $resizeheight_tag = true;
  }
  if($resizewidth_tag && $resizeheight_tag)
  {
  if($widthratio<$heightratio)
   $ratio = $widthratio;
  else
   $ratio = $heightratio;
  }
  if($resizewidth_tag && !$resizeheight_tag)
  $ratio = $widthratio;
  if($resizeheight_tag && !$resizewidth_tag)
  $ratio = $heightratio;
  $newwidth = $pic_width * $ratio;
  $newheight = $pic_height * $ratio;
  if(function_exists("imagecopyresampled"))
  {
  $newim = imagecreatetruecolor($newwidth,$newheight);//PHP系统函数
   imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);//PHP系统函数
  }
  else
  {
  $newim = imagecreate($newwidth,$newheight);
   imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
  }
  $name = $name.$filetype;
  imagejpeg($newim,$name);
  imagedestroy($newim);
 }
 else
 {
  $name = $name.$filetype;
  imagejpeg($im,$name);
 }
 }
//使用方法:
$im=imagecreatefromjpeg("./20140416103023202.jpg");//参数是图片的存方路径
$maxwidth="600";//设置图片的最大宽度
$maxheight="400";//设置图片的最大高度
$name="123";//图片的名称,随便取吧
$filetype=".jpg";//图片类型
resizeImage($im,$maxwidth,$maxheight,$name,$filetype);//调用上面的函数

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