IOS製作全套ICON的PHP指令碼

weixin_34337265發表於2017-07-10

//先建立資料夾

if(!is_dir('icon')){

  if (!mkdir('icon', 0777))

  return;

}

$base_size=1024;

$file_src = 'icon.png'; //原始檔

$arr_size=array(20=>1, 29=>2,40=>3, 50=>1, 57=>1, 58=>2, 60=>1, 72=>1, 76=>1, 80=>2, 87=>1, 100=>1, 114=>1, 120=>2, 144=>1, 152=>1, 167=>1, 180=>1);

$img_src = imagecreatefrompng($file_src);

list($src_w, $src_h) = getimagesize($file_src);

if($src_w != 1024 || $src_h != 1024)

{

    echo 'error size: $src_w, $src_h';

    return;

}

foreach($arr_size as $k => $v){

$per = $k/$base_size;

$new_w = $src_w*$per;

$new_h = $src_h*$per;

$file_dst = "icon/$k.png";

$img_dst = imagecreatetruecolor($new_w, $new_h);

$c = imagecolorallocatealpha($img_dst , 0 , 0 , 0 , 127); //拾取透明

imagealphablending($img_dst , false); //關閉混合模式 透明顏色能覆蓋原畫布

imagefill($img_dst , 0 , 0 , $c); //填充

imagesavealpha($img_dst , true); //儲存PNG時保留透明通道資訊

imagecopyresampled($img_dst,$img_src, 0, 0, 0, 0, $new_w, $new_h, $src_w, $src_h);

imagepng($img_dst, $file_dst);

if($v > 1){

for($i=1; $i < $v; $i++){

$file_dst = "icon/$k-$i.png";

imagepng($img_dst, $file_dst);

}

}

imagedestroy($img_dst);

}

imagedestroy($img_src);

echo 'success';

相關文章