Welcome

首页 / 网页编程 / PHP / 一键生成各种尺寸Icon的php脚本(实例)

实例如下:
<?php /** * @name thumb缩略图函数 * @paramsting$img_name图片路径 * @paramint $max_width 略图最大宽度 * @paramint $max_height 略图最大高度 * @paramsting$suffix 略图后缀(如"img_x.jpg"代表小图,"img_m.jpg"代表中图,"img_l.jpg"代表大图) * @returnvoid */ function thumb($img_name,$max_width,$max_height,$path,$new_name) { $img_infos = getimagesize($img_name); $img_height = $img_infos[0];//图片高 $img_width = $img_infos[1]; //图片宽 $img_extension = "";//图片后缀名switch($img_infos[2]) { case 1: $img_extension = "gif"; break; case 2: $img_extension = "jpeg"; break; case 3: $img_extension = "png"; break; default: $img_extension = "jpeg"; break; }$new_img_size = array(); $new_img_size["width"] = $max_width; $new_img_size["height"] = $max_height;$img_func = ""; //函数名称 $img_handle = "";//图片句柄 $thum_handle = ""; //略图图片句柄switch($img_extension) { case "jpg": $img_handle = imagecreatefromjpeg($img_name); $img_func = "imagejpeg"; break; case "jpeg": $img_handle = imagecreatefromjpeg($img_name); $img_func = "imagejpeg"; break; case "png": $img_handle = imagecreatefrompng($img_name); imagesavealpha($img_handle, true); $img_func = "imagepng"; break; case "gif": $img_handle = imagecreatefromgif($img_name); $img_func = "imagegif"; break; default: $img_handle = imagecreatefromjpeg($img_name); $img_func = "imagejpeg"; break; }$quality = 100;//图片质量 if($img_func == "imagepng") { $quality = 9; } $thum_handle = imagecreatetruecolor($new_img_size["height"],$new_img_size["width"]); imagealphablending($thum_handle,false);//这里很重要,意思是不合并颜色,直接用$img图像颜色替换,包括透明色; imagesavealpha($thum_handle,true);//这里很重要,意思是不要丢了$thumb图像的透明色;if(function_exists("imagecopyresampled")) { imagecopyresampled($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size["height"],$new_img_size["width"],$img_height,$img_width); }else{ imagecopyresized($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size["height"],$new_img_size["width"],$img_height,$img_width); }call_user_func_array($img_func,array($thum_handle,$path."/".$new_name,$quality)); imagedestroy($thum_handle);//清除句柄 imagedestroy($img_handle);//清除句柄 } $IconArray = array( "IOS8" => array( array("width" => 180,"height"=> 180, "path"=>"ios8", "name"=>"Icon-180.png"), array("width" => 120,"height"=> 120, "path"=>"ios8", "name"=>"Icon-120.png"), array("width" => 152,"height"=> 152, "path"=>"ios8", "name"=>"Icon-152.png"), array("width" => 76, "height"=> 76,"path"=>"ios8", "name"=>"Icon-76.png"),array("width" => 144,"height"=> 144, "path"=>"ios8", "name"=>"Icon-144.png"), array("width" => 72, "height"=> 72,"path"=>"ios8", "name"=>"Icon-72.png"), array("width" => 114,"height"=> 114, "path"=>"ios8", "name"=>"Icon-114.png"), array("width" => 57, "height"=> 57,"path"=>"ios8", "name"=>"Icon-57.png"),array("width" => 100,"height"=> 100, "path"=>"ios8", "name"=>"Icon-100.png"), array("width" => 50, "height"=> 50,"path"=>"ios8", "name"=>"Icon-50.png"),array("width" => 80, "height"=> 80,"path"=>"ios8", "name"=>"Icon-80.png"), array("width" => 40, "height"=> 40,"path"=>"ios8", "name"=>"Icon-40.png"), array("width" => 58, "height"=> 58,"path"=>"ios8", "name"=>"Icon-58.png"), array("width" => 29, "height"=> 29,"path"=>"ios8", "name"=>"Icon-29.png"), ), "IOS" => array( array("width" => 180,"height"=> 180, "path"=>"ios","name"=>"Icon-60@3x.png"), array("width" => 120,"height"=> 120, "path"=>"ios","name"=>"Icon-60@2x.png"), array("width" => 152,"height"=> 152, "path"=>"ios","name"=>"Icon-76@2x.png"), array("width" => 76, "height"=> 76,"path"=>"ios","name"=>"Icon-76.png"),array("width" => 144,"height"=> 144, "path"=>"ios","name"=>"Icon-72@2x.png"), array("width" => 72, "height"=> 72,"path"=>"ios","name"=>"Icon-72.png"), array("width" => 114,"height"=> 114, "path"=>"ios","name"=>"Icon-57@2x.png"), array("width" => 57, "height"=> 57,"path"=>"ios","name"=>"Icon-57.png"),array("width" => 100,"height"=> 100, "path"=>"ios","name"=>"Icon-50@2x.png"), array("width" => 50, "height"=> 50,"path"=>"ios","name"=>"Icon-50.png"),array("width" => 80, "height"=> 80,"path"=>"ios","name"=>"Icon-40@2x.png"), array("width" => 40, "height"=> 40,"path"=>"ios","name"=>"Icon-40.png"), array("width" => 58, "height"=> 58,"path"=>"ios","name"=>"Icon-29@2x.png"), array("width" => 29, "height"=> 29,"path"=>"ios","name"=>"Icon-29.png"), ) , "ANDROID" => array ( array("width" => 144,"height" => 144, "path" => "android/drawable","name"=>"icon.png"), array("width" => 144,"height" => 144, "path" => "android/drawable-xhdpi", "name"=>"icon.png"), array("width" => 72, "height" => 72, "path" => "android/drawable-hdpi","name"=>"icon.png"), array("width" => 48, "height" => 48, "path" => "android/drawable-mdpi","name"=>"icon.png"), array("width" => 32, "height" => 32, "path" => "android/drawable-ldpi","name"=>"icon.png") ) ); foreach ($IconArray["IOS8"] as $key => $IconType){ thumb("icon.png",$IconType["width"],$IconType["height"],$IconType["path"],$IconType["name"]); }foreach ($IconArray["IOS"] as $key => $IconType){ thumb("icon.png",$IconType["width"],$IconType["height"],$IconType["path"],$IconType["name"]); }foreach ($IconArray["ANDROID"] as $key => $IconType){ thumb("icon.png",$IconType["width"],$IconType["height"],$IconType["path"],$IconType["name"]); }?> 
以上这篇一键生成各种尺寸Icon的php脚本(实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。