php批量缩放图片的代码举例
首先,使用一个ini文件来设置要缩放的大小,其中为宽或高0的则为图片放大或缩小,都为0则还是原大小,都不为0都拉抻成指定的大小。
注意:ini文件使用php解释时为注释文件,什么也没有输出。而;则是ini文件的注释。
1、ini文件:
<?php /*
;Translate the image format using the original image size
[Translation]
width=0
height=0
;Stretch the image to the specified size
[Stretch]
width=800
height=600
;Zoom the image to the specified Width with height auto size
[AutoHeight]
width=740
height=0
;Zoom the image to the specified Height with width auto size
[AutoWidth]
width=0
height=380
*/ ?>
2、缩放图片的php代码
变量classes是一个数组,可以选择任意多个ini文件中指定的设置。
/**
* 批量绽放图片
* edit www.jbxue.com
* at 2013/5/15
*/
$oimg = "test.jpg";//Original image name
$classes = array('Translation','AutoHeight','AutoWidth','Stretch');//Give classes for the new creating images' size which are defined in the specified
ini file
$suffix = 'jpg';//The new image's suffix
$inifile = 'image.ini.php';
$size = getimagesize($oimg);
$x = $size[0]/$size[1];
$name = explode('.',$oimg);
if(!file_exists($inifile)) die('Ini file does not exist!');
$cn = parse_ini_file($inifile,true);//Parse the class style image size from ini file
foreach($classes as $class){
foreach($cn as $k=>$v){
if($k==$class){
if($v['width'] && $v['height']){
$thumbWidth = $v['width'];
$thumbHeight = $v['height'];
}elseif($v['width']){
$thumbWidth = $v['width'];
$thumbHeight = round($thumbWidth/$x);
}elseif($v['height']){
$thumbHeight = $v['height'];
$thumbWidth = round($thumbHeight*$x);
}else{
$thumbWidth = $size[0];
$thumbHeight = $size[1];
}
break;
}
}
if(!isset($thumbHeight) && !isset($thumbWidth)) die('Ini file Settings error!');
$nimg = $name[0].'_'.$class.'.'.$suffix;//New image file name
$source = imagecreatefromjpeg($oimg);
$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
imagecopyresampled($thumb,$source,0,0,0,0,$thumbWidth,$thumbHeight,$size[0],$size[1]);
if($suffix=='jpg') $method = 'imagejpeg';
else $method='image'.$suffix;
$method($thumb, $nimg);
imagedestroy($thumb);//Release the image source
imagedestroy($source);
}
?>
php有专门处理图片的函数,对于一些要求较高的图片缩放,php也能做到。
>>> 您可能感兴趣的文章:
php缩放图片的实例代码
php等比例缩放图片的示例参考
php等比例缩放图片的工具SimpleImage实例学习
您可能感兴趣的文章:
php等比例缩放图片的工具SimpleImage实例学习
php等比例缩放图片的示例参考
php缩放图片的实例代码
php批量缩放图片的代码举例
php按比例计算图片大小的代码
php图片等比例放大与缩小的方法举例
js 实现图片等比例缩放实例
php实现图片缩放效果
PHP等比例缩放图片生成缩略图函数的例子
php图片裁剪与缩略图示例