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实现mysql数据库备份类
Mar 20 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
PHP中new static()与new self()的区别异同分析
Aug 22 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
PHP图像处理类库及演示分享
May 17 PHP
如何使用PHP给图片加水印
Oct 12 PHP
php实现遍历文件夹的方法汇总
Mar 02 PHP
详解php实现页面静态化原理
Jun 21 PHP
PHP实现非阻塞模式的方法分析
Jul 26 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操作数组的一些函数整理介绍
2011/07/17 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
JavaScript prototype对象的属性说明
2010/03/13 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
Python通过poll实现异步IO的方法
2015/06/04 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
点球小游戏python脚本
2018/05/22 Python
python制作抖音代码舞
2019/04/07 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
MySQL创建定时任务
2022/01/22 MySQL
Python实现抖音热搜定时爬取功能
2022/03/16 Python