一键生成各种尺寸Icon的php脚本

WBOY
Freigeben: 2016-08-08 09:23:54
Original
967 Leute haben es durchsucht
<?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
*/
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 = &#39;&#39;;		//图片后缀名

	switch($img_infos[2])
	{
		case 1:
			$img_extension = &#39;gif&#39;;
			break;
		case 2:
			$img_extension = &#39;jpeg&#39;;
			break;
		case 3:
			$img_extension = &#39;png&#39;;
			break;
		default:
			$img_extension = &#39;jpeg&#39;;
			break;
	}

	$new_img_size = array();
	$new_img_size[&#39;width&#39;] = $max_width;
	$new_img_size[&#39;height&#39;] = $max_height;
	
	$img_func = &#39;&#39;;		//函数名称
	$img_handle = &#39;&#39;;	//图片句柄
	$thum_handle = &#39;&#39;;	//略图图片句柄

	switch($img_extension)
	{
		case &#39;jpg&#39;:
			$img_handle = imagecreatefromjpeg($img_name);
			$img_func = &#39;imagejpeg&#39;;
			break;
		case &#39;jpeg&#39;:
			$img_handle = imagecreatefromjpeg($img_name);
			$img_func = &#39;imagejpeg&#39;;
			break;
		case &#39;png&#39;:
			$img_handle = imagecreatefrompng($img_name);
			imagesavealpha($img_handle, true);
			$img_func = &#39;imagepng&#39;;
			break;
		case &#39;gif&#39;:
		 	$img_handle = imagecreatefromgif($img_name);
			$img_func = &#39;imagegif&#39;;
			break;
		default:
			$img_handle = imagecreatefromjpeg($img_name);
			$img_func = &#39;imagejpeg&#39;;
			break;
	}

	$quality = 100;//图片质量
	if($img_func == &#39;imagepng&#39;)
	{
		$quality = 9;
	} 

	$thum_handle = imagecreatetruecolor($new_img_size[&#39;height&#39;],$new_img_size[&#39;width&#39;]);
	imagealphablending($thum_handle,false);//这里很重要,意思是不合并颜色,直接用$img图像颜色替换,包括透明色;
    imagesavealpha($thum_handle,true);//这里很重要,意思是不要丢了$thumb图像的透明色;

	if(function_exists(&#39;imagecopyresampled&#39;))
	{
		imagecopyresampled($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size[&#39;height&#39;],$new_img_size[&#39;width&#39;],$img_height,$img_width);
	} 
	else 
	{
		imagecopyresized($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size[&#39;height&#39;],$new_img_size[&#39;width&#39;],$img_height,$img_width);
	}

    call_user_func_array($img_func,array($thum_handle,$path.&#39;/&#39;.$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']);
}

?>
Nach dem Login kopieren

使用方法:  php IconMaster.php 

以上就介绍了 一键生成各种尺寸Icon的php脚本,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!