就是将逐行显示的图片改为先模糊后清晰的那种。
imageinterlace()
imagecreatefromjpeg()
imagecreatefrompng()
直接上代码:
<?php /* * 批量修改图片【激活隔行扫描】,将目录中所有JPG、PNG图像文件修改为渐进式JPG * @author 朱宏亮 * @parameter 图像文件夹路径 * */ set_time_limit(0); function showDir( $filedir ) { echo '开始处理<hr />'; //打开目录 $dir = @ dir($filedir); $index = 1; //遍历目录中的文件 while (($file = $dir->read())!==false) { if(is_dir($filedir."/".$file) AND ($file!=".") AND ($file!="..")) { // // 忽略子文件夹 // //echo "dirname: ".$file."<br />"; //showDir($filedir."/".$file); } else { if($file == '.') continue; if($file == '..') continue; //echo "filename: " .$filedir."/".$file . "<br />"; $fileNames = explode('.',$file); $suffix = $fileNames[count($fileNames)-1]; if($suffix == 'png'){ $im = imagecreatefrompng($filedir.'/'.$file);//加载PNG图片文件 }else if($suffix == 'jpg' || $suffix == 'jpeg'){ $im = imagecreatefromjpeg($filedir.'/'.$file);//加载JPG图片文件 }else{ echo "跳过图片:$file <br />"; //其他格式的图片 直接跳过 不处理 continue; } //开启交错式显示(渐进式) //第二个参数为 1 则是渐进式,参数为 0 则为逐行扫描 imageinterlace($im, 1); //第二个参数是文件路径+文件名称,第三个参数是图片质量,最大100 //文件夹内若有冲突图片名称,会直接覆盖文件 Imagejpeg($im, $filedir.'/new/'.$index.'.jpg', 70); $index++; ImageDestroy($im); } } $dir->close(); echo '<hr /> 完成!'; } showDir("foimage"); //参数是文件夹路径 ?>