萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php創建sprite

php創建sprite

 本文介紹了使用PHP根據文件夾內的圖片生成sprite合成圖示例,需要的朋友可以參考下

 代碼如下: <?php $srcdir='./image/'; $prefix="pic11_"; $dst="image"; $imagedir=scandir($srcdir); array_shift($imagedir); array_shift($imagedir); $width=0; $height=0; foreach ($imagedir as $key => $value) {  $picinfo=getimagesize($srcdir.$value);  $width=$picinfo[0]+$width;  if ($height<$picinfo[1]) {   $height=$picinfo[1];  } } $image=imagecreatetruecolor($width,$height); imagesavealpha($image, true); $color=imagecolorallocatealpha($image,0,0,0,127) ; imagefill($image, 0, 0, $color); $width=0; $height=0; $css=""; foreach ($imagedir as $key => $value) {  $picinfo=getimagesize($srcdir.$value);  $im=imagecreatefrompng($srcdir.$value);       //創建image  imagecopymerge($image, $im, $width, 0, 0, 0, $picinfo[0], $picinfo[1],100);  $picname=pathinfo($srcdir.$value);  $css=".".$prefix.$picname['filename']."{height:".$picinfo[0]."px;width:".$picinfo[1]."px;background-position: -".$width."px 0px;}".$css;  $width=$width+$picinfo[0];  imagedestroy($im);             //銷毀image } $css=$css."[class*=".$prefix."]{background-image:url('image.png');}}";  $css=$css.".".$prefix."{background-image:url('image.png');}";  //兼容ie 系列 file_put_contents("./".$dst.'.css',$css); imagepng($image,"./".$dst.'.png'); imagedestroy($image); ?>   <link rel="stylesheet" type="text/css" href="./image.css"> <!-- <img src="./image.png"> --> <body style="background-color:#eee">  <div class="pic11_css3"> </div> <div class="pic11_firefox"> </div> <div class="pic11_chrome"> </div> <span class="css3">   </span> <span class="sprite firefox"> </span> </body>  
copyright © 萬盛學電腦網 all rights reserved