PHPでスプライトを作成する

WBOY
WBOYオリジナル
2016-07-25 08:48:45916ブラウズ
ファイル内の画像を元にスプライト合成画像を生成
  1. $srcdir='./image/';
  2. $prefix="pic11_";
  3. $dst="image";
  4. $imagedir=scandir($srcdir);
  5. array_shift($imagedir );
  6. array_shift($imagedir);
  7. $width=0;
  8. $height=0;
  9. foreach ($imagedir as $key => $value) {
  10. $picinfo=getimagesize($srcdir.$value);
  11. $width=$picinfo[0]+$width;
  12. if ($height $height=$picinfo[1];
  13. }
  14. }
  15. $image=imagecreatetruecolor($width,$height );
  16. imagesavealpha($image, true);
  17. $color=imagecolorallocatealpha($image,0,0,0,127) ;
  18. imagefill($image, 0, 0, $color);
  19. $width=0;
  20. $height =0;
  21. $css="";
  22. foreach ($imagedir as $key => $value) {
  23. $picinfo=getimagesize($srcdir.$value);
  24. $im=imagecreatefrompng($srcdir.$value) ; //创建image
  25. imagecopymerge($image, $im, $width, 0, 0, 0, $picinfo[0], $picinfo[1],100);
  26. $picname=pathinfo($srcdir.$value);
  27. $css=".".$prefix.$picname['filename']."{高さ:".$picinfo[0]."px;幅:".$picinfo[1]."px;背景位置: -".$width."px 0px;}".$css;
  28. $width=$width+$picinfo[0];
  29. imagedestroy($im); //销毁image
  30. }
  31. $css=$css."[class*=".$prefix."]{background-image:url('image.png');}}";
  32. $css=$css.".".$prefix."{background-image:url('image.png');}"; //兼容ie系列
  33. file_put_contents("./".$dst.'.css',$css);
  34. imagepng($image,"./".$dst.'.png');
  35. imagedestroy($image );
  36. ?>
  • < ;/div>
  • 复制代码


  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。