Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in Beispiele für PHP-Zoombilder

Einführung in Beispiele für PHP-Zoombilder

怪我咯
怪我咯Original
2017-07-10 11:57:341520Durchsuche

Stellen Sie die Breite und Höhe und Skalierung in gleichen Proportionen ein; stellen Sie die Höhe und Skalierung in gleichen Proportionen ein; geben Sie sie nach der Skalierung direkt auf dem Bildschirm aus Die spezifische Verwendung ist wie folgt. Interessierte Freunde können mehr über


erfahren. Wie man es verwendet:

Stellen Sie die Breite und Höhe ein und skalieren Sie sie in verschiedenen Proportionen

Der Code lautet wie folgt:

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

Wenn Bilder hochlädt, sind die Bilder manchmal zu groß, was nicht nur Platz beansprucht und Datenverkehr verbraucht , wirkt sich aber auch auf das Surfen aus (die Größen der Bilder variieren). Lassen Sie uns eine Methode zum Skalieren von Bildern in gleichen Proportionen ohne Verzerrung vorstellen. Auf diese Weise wird das hochgeladene Bild automatisch auf den von uns festgelegten Größenwert komprimiert. Getestet und praxiserprobt.

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

Das obige ist der detaillierte Inhalt vonEinführung in Beispiele für PHP-Zoombilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn