用于sprite图像的mirco python工具,支持photoshop层数据
pysprites的Python项目详细描述
有时,设计师会给你一个视觉产品,而你需要 从文件中裁剪小精灵,将它们合并到PNG文件中,然后 为这样的精灵写一个css文件。
这些工具使一切都很重要。
安装
$ pip install pysprites
示例
$ pysprites -i page1.psd -m icon- -b -r -c page1.css -o page1.png
此命令将从page1.psd导入名称以icon-开头的层,重新定位它们, 将每个精灵的css输出到page1.css,并将合并的png输出到page1.png
命令行
$ pysprites [args...] -i a.psd b.psd ... : import psd layer from psd files (need psd_tools) -a x.png y.png ... : add png files -m filter : only handle layer or image name startswith filter -p padding : add padding for each sprite -r : reposition sprites -cp string : use string as css class prefix -b : gen sprite width and height for css -c out.css : output css to file -o out.png : output merged png to file
框架
实际上,所有内容都在一个文件中:pysprites/sprites.py。
在一个任务中,所有呈现为“通用sprite进程组”(gsp)的内容都是struct,如下所示:
gsp :: (width, height, img, padding, prefix, args) img :: list of [[name, [width, height],[left, top], PIL_object]
gsp通过处理程序,处理程序重新定位img,处理程序将其保存到png,等等。
重新定位算法
- 选择两个最高的精灵和最终图像高度。
- 找到一个最小的间隙。
- 选择可以插入到左侧的最长精灵,然后将其插入。
- 如果无法插入,请填充间隙并转到步骤2。
- 重复untail每个精灵都被插入。
使用edgelines结构来保持最小的间隙,并且gsp_reposition函数实现 这个算法。请参阅pysprites/sprites.py
中的代码贡献
我觉得这些工具对我来说已经足够了。不过,欢迎使用新的处理程序,例如, 从gimp xcf文件导入层,或新的重新定位算法,或任何参与!
好好享受吧!