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 相关文章推荐
discuz Passport 通行证 整合笔记
Jun 30 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php数组去重复数据示例
Feb 25 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
php实现的zip文件内容比较类
Sep 24 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 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
第十一节 重载 [11]
2006/10/09 PHP
php MessagePack介绍
2013/10/06 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php实现的顺序线性表示例
2019/05/04 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
token 机制和实现方式
2020/12/15 Javascript
Python过滤列表用法实例分析
2016/04/29 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python批量修改图片大小的方法
2018/07/24 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python PyQt5整理介绍
2020/04/01 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
办公室岗位职责
2014/02/12 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang