【一键生成各种尺寸icon】一键生成各种尺寸Icon的php脚本的实例代码

更新时间:2021-06-15    来源:php函数    手机版     字体:

【www.bbyears.com--php函数】

 

 代码如下

/**

* @name thumb  缩略图函数

* @param  sting  $img_name  图片路径

* @param  int   $max_width 略图最大宽度

* @param  int   $max_height 略图最大高度

* @param  sting  $suffix 略图后缀(如"img_x.jpg"代表小图,"img_m.jpg"代表中图,"img_l.jpg"代表大图)

* @return  void

*/

functionthumb($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])

  {

    case1:

      $img_extension='gif';

      break;

    case2:

      $img_extension='jpeg';

      break;

    case3:

      $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']);

}

  

?>

 

本文来源:http://www.bbyears.com/jiaocheng/123973.html