Home  >  Article  >  Backend Development  >  Introduction to php zoom image examples

Introduction to php zoom image examples

怪我咯
怪我咯Original
2017-07-10 11:57:341574browse

Set the width and height, and scale in unequal proportions; set the width, and scale in equal proportions; set the height, and scale in equal proportions; scale in proportion to 50%; output directly to the screen after scaling, etc. The specific usage is as follows , friends who are interested can learn about it


How to use:

Set the width and height, and scale at different proportions

The code is as follows:

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

Sometimes When uploading pictures, because the pictures are too large, they not only take up space and consume traffic, but also affect browsing (the sizes of pictures vary). Let’s share a method of scaling images in equal proportions without distortion. In this way, no matter how big the uploaded image is, it will be automatically compressed to the range of the size value we set. Tested and proven practical.

<?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);//调用上面的函数

The above is the detailed content of Introduction to php zoom image examples. 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