php 创建等比例图片代码
说明:$maxwidth和$maxheight只能传递一个,如果传最大宽度将自动计算高度,如果传最大高度将自动计算宽度.
返 回 值:如果创建成功返回文件保存的地址,否则返回false.
php 创建等比例图片代码如下:
<?php
/************************************************************************
* 函数名称:createSmallImg()
* 函数说明:创建等比例图片
* 输入参数:
$dir 保存路径
$source_img 原图片名称
$small_ex 缩率图文件名后缀
$maxwidth 最大宽度
$maxheight 最大高度
* 说 明:$maxwidth和$maxheight只能传递一个,如果传最大宽度将自动计算高度,如果传最大高度将自动计算宽度
* 返 回 值:如果创建成功返回文件保存的地址,否则返回false
* 编 写 者:李小宇
* 编写时间:2011/8/18
**************************************************************************/
function createSmallImg($dir, $source_img, $small_ex = "_s", $maxwidth = '', $maxheight = '') {
if (!emptyempty($maxwidth) && !emptyempty($maxheight)) {
return false;
}
$img_name = substr($source_img, 0, -4);
$img_ex = strtolower(substr(strrchr($source_img, ".") , 1));
/*注释的这段用作直接在浏览器上显示图片
$im=imagecreatefromjpeg($file);
header("Content-type: image/jpeg");
imagejpeg($im);*/
switch ($img_ex) {
case "jpg":
$src_img = imagecreatefromjpeg($dir . $source_img);
break;
case "gif":
$src_img = imagecreatefromgif($dir . $source_img);
break;
case "png":
$src_img = imagecreatefrompng($dir . $source_img);
break;
} //开源代码phprm.com
$old_width = imagesx($src_img);
$old_height = imagesy($src_img);
if (!emptyempty($maxheight) && $old_height >= $maxheight) {
$new_height = $maxheight;
$new_width = round(($old_width * $new_height) / $old_height);
} elseif (!emptyempty($maxwidth) && $old_width >= $maxwidth) {
$new_width = $maxwidth;
$new_height = round(($old_height * $new_width) / $old_width);
}
if (!emptyempty($new_width) || !emptyempty($new_height)) {
if ($img_ex == "jpg" || $img_ex == "png") {
$dst_img = imagecreatetruecolor($new_width, $new_height);
} else {
$dst_img = imagecreate($new_width, $new_height);
}
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height);
$smallname = $dir . $img_name . $small_ex . "." . $img_ex;
switch ($img_ex) {
case "jpg":
imagejpeg($dst_img, $smallname, 100);
break;
case "gif":
imagegif($dst_img, $smallname);
break;
case "png":
imagepng($dst_img, $smallname);
break;
}
}
return $smallname;
}本文链接:http://www.phprm.com/tuxiang/fs4431.html
收藏随意^^请保留教程地址.