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 相关文章推荐
自动分页的不完整解决方案
Jan 12 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
php实现简单文件下载的方法
Jan 30 PHP
php中删除、清空session的方式总结
Oct 09 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 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类的使用 实例代码讲解
2009/12/28 PHP
php下Memcached入门实例解析
2015/01/05 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
vue实现防抖的实例代码
2021/01/11 Vue.js
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
实例讲解python中的协程
2018/10/08 Python
对Python w和w+权限的区别详解
2019/01/23 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python压包的概念及实例详解
2021/02/17 Python
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
init进程的作用
2012/04/12 面试题
成人大专自我鉴定范文
2013/10/19 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
会议通知范文
2015/04/15 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
实例详解Python的进程,线程和协程
2022/03/13 Python