首页 > 编程技术 > php

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

发布时间:2017-7-6 23:34

php如何一键生成各种尺寸Icon?本文详细介绍了一键生成各种尺寸Icon的php脚本的实例代码,有需要的朋友请看下文。

 

 代码如下 复制代码

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

}

  

?>

 

小编推荐的这篇文章介绍了php使用变量动态创建类的对象用法示例,非常详细,有需要的同学快来看看吧。

这是一个能用变量动态创建类的对象的用法,就是根据$pay_code变量值来创建对象.

例如下例就是创建类T的一个对象$payment.然后就可以使用了.咋一看像是个新的知识点,其实不然,只不过是编程中的一个技巧而已.

 代码如下复制代码

$pay_code='T'

$payment=new$pay_code();

echo$payment;

echo$payment->ep();

classT{

  functionep(){

    return'我是T里面的方法!'

  }

  function__toString(){

    return'这是个T类'

  }

}

classW{

  functionep(){

    return'我是W里面的方法!'

  }

  function__toString(){

    return'这是个W类'

  }

}

小编推荐的这篇文章介绍了PHP实现判断数组是一维、二维或几维的方法,非常实用,有兴趣的同学快来看看吧。

这里使用的自定义函数,可以判断数组是一维的,还是二维的,或是几维的数组:

 代码如下复制代码

functiongetmaxdim($vDim)

{

  if(!is_array($vDim))return0;

  else

  {

    $max1= 0;

    foreach($vDimas$item1)

    {

     $t1=$this->getmaxdim($item1);

     if($t1>$max1)$max1=$t1;

    }

    return$max1+ 1;

  }

}

验证过可以使用:

 代码如下复制代码

//测试:

$arr=array('yiyi'=>1212,'haha'=>array('heihei'=>array(array("a")),"b"));

echogetmaxdim($arr);

//结果: 4

本文用实例解析;额html静态页面调用php文件的方法,非常实用,初学php有不懂的同学快来看看这篇文章吧。

本文实例讲述了html静态页面调用php文件的方法。分享给大家供大家参考。具体方法如下:

静态页面中看上去好像是不能直接调用php文件的,但是却可以使用js调用方式来调用php文件,当然还可以使用ajax 调用php文件,下面就来给大家介绍一下:

举一个简单的例子来说明:
如在页面a.html中用下面这句调用,可以将action=test的参数传递到b.php。
Javascript代码

 代码如下复制代码



在b.php中有这样一段PHP代码:

<?php
$action=$_GET['action'];    
echo "document.write('".$action."');n";   
?>

当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,内容为JS传递的参数action的值,也就是在PHP文件中接受过来的action的值.

jquery的load函数是请求另一个文件并加载到当前DOM里的调用

1、加载一个php文件,该php文件不含传递参数

$("#myID").load("test.php");

2、加载一个php文件,该php文件含有一个传递参数

$("#myID").load("test.php",{"name" : "Adam"});

3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔

$("#myID").load("test.php",{"name" : "Adam" ,"site":www.jb51.net});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=www.jb51.net

4. 加载一个php文件,该php文件以数组作为传递参数

$("#myID").load("test.php",{'myinfo[]', ["Adam", www.jb51.net});
//导入的php文件含有一个数组传递参数。

标签:[!--infotagslink--]

您可能感兴趣的文章: