php创建sprite


Posted in PHP onFebruary 11, 2014
<?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>
PHP 相关文章推荐
一棵php的类树(支持无限分类)
Oct 09 PHP
PHP新手上路(二)
Oct 09 PHP
第九节--绑定
Nov 16 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
php 数组随机取值的简单实例
May 23 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP循环结构实例讲解
Feb 10 #PHP
更改localhost为其他名字的方法
Feb 10 #PHP
php 获取SWF动画截图示例代码
Feb 10 #PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 #PHP
php判断正常访问和外部访问的示例
Feb 10 #PHP
php利用单例模式实现日志处理类库
Feb 10 #PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 #PHP
You might like
深入理解PHP之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php使用百度天气接口示例
2014/04/22 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
六十大寿答谢词
2014/01/12 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
家长给学校的建议书
2014/05/15 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
郭明义观后感
2015/06/08 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
小学教师教学随笔
2015/08/14 职场文书
初中思想品德教学反思
2016/02/24 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL