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支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
PHP模型Model类封装数据库操作示例
Mar 14 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 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
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
php中yii框架实例用法
2020/12/22 PHP
浏览器常用高宽的jquery插件
2011/02/24 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python中的tuple元组详细介绍
2015/02/02 Python
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
Python实现把类当做字典来访问
2019/12/16 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
python操作toml文件的示例代码
2020/11/27 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
法学专业毕业生自荐信范文
2013/12/18 职场文书
美德好少年事迹材料
2014/01/19 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
合伙经营协议书范本
2014/09/13 职场文书
红高粱观后感
2015/06/10 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS