IOS制作全套ICON的PHP脚本

//先创建文件夹

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';

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容