用于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,等等。

重新定位算法

  1. 选择两个最高的精灵和最终图像高度。
  2. 找到一个最小的间隙。
  3. 选择可以插入到左侧的最长精灵,然后将其插入。
  4. 如果无法插入,请填充间隙并转到步骤2。
  5. 重复untail每个精灵都被插入。

使用edgelines结构来保持最小的间隙,并且gsp_reposition函数实现 这个算法。请参阅pysprites/sprites.py

中的代码

贡献

我觉得这些工具对我来说已经足够了。不过,欢迎使用新的处理程序,例如, 从gimp xcf文件导入层,或新的重新定位算法,或任何参与!

好好享受吧!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ByteArrayOutputStream的java解码属性   java S3 SDK在上载时更新单个对象,而不是创建新文件   java hibernate:无法从eclipse连接到DB   java如何在强制转换JComboBox之前检查其类型?   http从Java中的GETPOST请求方法捕获URI、资源名称,如开发人员工具中所示   java在Spring@Bean方法中返回接口的局限性   Java中的Web服务和客户端(使用Eclipse Apache Axis 2自底向上服务)某些代码会引发异常   java spring安全+rest不起作用   java将LinkedList添加到包含LinkedList的LinkedList并更改添加的LinkedList   java是否临时删除对象的属性?   java使用AnimatedGifEncoder类创建的gif图像的部分帧是不透明的   java如何高效地处理maven3时间戳快照?   java向集合对象添加另一项   java如何将动态参数传递给jquery函数   java使用libGdx桌面端口作为Android GLES20的仿真器