php创建sprite
2014-02-11 00:00
686 查看
<?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>
相关文章推荐
- codeigniter教程之多文件上传使用示例
- php发送post请求的三种方法
- thinkphp3查询mssql数据库乱码解决方法分享
- PHP字符串的递增和递减示例介绍
- php 不使用js实现页面跳转
- php中的路径问题与set_include_path使用介绍
- CI框架源码完全分析之核心文件(异常处理)Exceptions.php
- PHP Fileinfo获取文件MIME类型
- libvirt/qemu特性之cpu hotplug
- PhpWind 8.7中禁止后台管理员随意修改会员用户名功能
- PHP学习笔记1 - MySQL免安装版配置
- php面向对象
- js在php 中出现 unterminated string literal 解决方法
- 诺基亚Lumia 920/820/620无法连接XP系统电脑的解决方法,MTP驱动
- thinkphp ajax检测是否数据可用
- php理论学习(一)
- PHP curl 采集内容之规则 及图片下载方法2
- PHP curl 采集内容之规则 1
- php 文件上传的基本方法
- php 验证码生成方法 及使用