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 fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
PHP可变函数的使用详解
Jun 14 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
Oct 19 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 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网上调查系统
2006/10/09 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python基础之getpass模块详细介绍
2017/08/10 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
python中关于数据类型的学习笔记
2020/07/19 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
.net笔试题
2014/03/03 面试题
电气技术员岗位职责
2013/11/19 职场文书
酒店led欢迎词
2014/01/09 职场文书
厂长岗位职责
2014/02/19 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL