程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> PHP創建縮略圖例子

PHP創建縮略圖例子

編輯:PHP基礎知識
 

<?php
define("GIF",1);
define("JPG",2);
define("PNG",3);
/**
$src_file sourse file
$dest_file dest file
$new_size array('width'=>?,'height'=?)
$quantity the quantity of desc
$method gd1.0 or gd2.0
**/
function ResizeImage($src_file="",$dest_file="",$new_size=array('width'=>100,'height'=>78),$quantity="80",$method="gd2"){
//get infomation of iamge

/*
0 => width
1 => height
2 =& gt;
1 = GIF,
2 = JPG,
3 = PNG,
4 = SWF,
5 = PSD,
6 = BMP,
7 = TIFF(intel byte order),
8 = TIFF(motorola byte order),
9 = JPC,
10 = JP2,
11 = JPX,
12 = JB2,
13 = SWC,
14 = IFF,
15 = WBMP,
16 = XBM
3 => height="yyy" width="xxx"
*/
$imginfo = getimagesize($src_file);
if ($imginfo == null)return false;
// GD can only handle JPG & PNG images
if($imginfo[2] != JPG && $imginfo[2] != PNG && $inginfo[2] != GIF && ($method == 'gd1' || $method == 'gd2')){
die("file is not be supported");
return false;
}
$srcWidth = $imginfo[0];
$srcHeight = $imginfo[1];
$radio=max(($srcWidth/$new_size['width']),($srcHeight/$new_size['height']));
$destWidth=(int)$srcWidth/$radio;
$destHeight=(int)$srcHeight/$radio;
switch ($method) {
case "gd1" :
if (!function_exists('imagecreatefromjpeg')) {
die("PHP running on your server does not support the GD image library");
}
if ($imginfo[2] == JPG)
$src_img = imagecreatefromjpeg($src_file);
elseif($imginfo[2] == PNG)
$src_img = imagecreatefrompng($src_file);
else $src_img = imagecreatefromgif($src_file);
if (!$src_img){return false;}
$dst_img = imagecreate($destWidth, $destHeight);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
imagejpeg($dst_img, $dest_file, $quantity);
imagedestroy($src_img);
imagedestroy($dst_img);
break;
case "gd2" :
// check if support GD2
if (!function_exists('imagecreatefromjpeg')) {
die("PHP running on your server does not support the GD image library");
}
if (!function_exists('imagecreatetruecolor')) {
die("PHP running on your server does not support GD version 2.x, please change to GD version 1.x on your method");
}
if ($imginfo[2] == JPG)
$src_img = imagecreatefromjpeg($src_file);
elseif($imginfo[2] == PNG)
$src_img = imagecreatefrompng($src_file);
else $src_img = imagecreatefromgif($src_file);
if (!$src_img){return false;}
$dst_img = imagecreatetruecolor($destWidth, $destHeight);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
imagejpeg($dst_img, $dest_file, $quantity);
imagedestroy($src_img);
imagedestroy($dst_img);
break;
}
// Set mode of uploaded picture
chmod($dest_file, 0755);
// We check that the image is valid
$imginfo = @getimagesize($dest_file);
if ($imginfo == null){
@unlink($dest_file);
return false;
}else{
return true;
}
}
$src_file="2.jpg";
$dest_file="22.jpg";
$new_size=array('width'=>100,'height'=>59);
$quantity="100";
$method="gd2";
ResizeImage($src_file,$dest_file, $new_size,$quantity,$method);
?>
運行方式:變量名就是注釋了,不用解釋了。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved