根据文件夹内的图片生成 sprite合成图
$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);
?>
复制代码