一套用于合并多个图像并一次性生成相应css的套件
spritemapper的Python项目详细描述
Homepage: | http://yostudios.github.com/Spritemapper/ |
---|---|
Authors: | Yo Studios <opensource@yostudios.se> |
spritemapper是一个将多个图像合并为一个和 为相应的切片生成css定位。
这个包由一个简单的命令行工具“执行任务”和 python库包括自己的png和css解析器。选择 编写/捆绑这是为了远离第三方的要求。任何人 曾经有过在各种平台上安装PIL的愉快工作 一个很好的关于我们要避免什么的主意。
spritemapper有多种选择,但它们都需要一点 很多手工劳动,而spritemapper读取当前的css,替换 背景图像和位置与生成的结果。
这项技术极大地提高了网站的加载速度,有效地 通过下载更少的图像减少带宽。
spritemapper正在运行
下面是一个简单的示例,说明spritemapper将如何处理css:
.emote.smile { background: red url(../img/emoticons/smile.png) no-repeat; } .emote.grin { background: white url(../img/emoticons/grin.png) no-repeat; }
变成:
.emote.smile { background: red url(../img/emoticons.png) no-repeat 0 0; } .emote.grin { background: white url(../img/emoticons.png) no-repeat 0 -16px; }
查看我们的homepage以获取真实的示例。
用法
- -h,--help
- 显示帮助消息并退出
- -c INI,--conf=INI
- 从ini读取基本配置(请参见Configuration options)
- --padding=N
- 在精灵之间保留n个像素的填充
配置选项
配置选项可以通过以下两种方式之一指定:在css中内联, 或使用传递具有默认值的ini文件。对于css,它看起来像:
/* spritemapper.output_css = foofile.css
您可以使用ini文件执行完全相同的操作,如下所示:
[spritemapper] output_css = foofile.css
需要注意的是,所有路径都与css文件相关 处理。
- base_url
- 可以访问生成的css和图像文件的url。 默认情况下使用文件相对路径(推荐)。
- sprite_dirs
- 允许在其中生成spritemaps的目录列表。 默认情况下,所有目录都符合条件。
- recursive
- 设置在找到子目录时是否应生成子spritemaps。 默认设置。
- output_image
- 输出spritemap图像的名称。 sprite_dirs与此不兼容,因为两者都告诉 spritemapper如何将精灵排序为spritemaps。 默认情况下,<;dir>;+.png。
- output_css
- 重写的css文件的名称。 默认情况下sm_{basename}{extension}。
- padding
- 两个图像之间的填充空间量。这对 抵消ios设备上的子像素渲染工件。 默认情况下为1。
- anneal_steps
- 这里的一个较大的数字使box packer算法尝试更多的组合。 默认为9200。
运行测试
测试套件需要Nose。您可以通过setup.py、python setup.py test或普通的nosetests运行它们。