当前位置: 网学 > 编程文档 > PHP > 正文

php批量缩放图片的代码[ini参数控制]

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/21

网学网PHP编辑为广大网友搜集整理了:php批量缩放图片的代码[ini参数控制]绩等信息,祝愿广大网友取得需要的信息,参考学习

首先使用一个ini文件来设置要缩放的大小,其中为宽或高0的则为图片放大或缩小,都为0则还是原大小,都不为0都拉抻成指定的大小。

注意:ini文件使用php解释时为注释文件,什么也没有输出,这是为了安全起见而故意为之。而;则是ini文件的注释。

我设置的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
*/
?>

下面是编写的缩放图片的php代码,其中变量classes是一个数组,可以选择任意多个ini文件中指定的设置:
复制代码 代码如下:
<?php
$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;
$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;
}
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);

if($suffix==''jpg'') $method = ''imagejpeg'';
else $method=''image''.$suffix;
$method($thumb, $nimg);
imagedestroy($thumb);//Release the image source
imagedestroy($source);
}
?>

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号