Skip to content

Repository files navigation

PixelPacker

Pack and Unpack images for the Sprite sheets.

目录(table of contents)
  1. 项目说明(About The Project)
  2. 支持说明(About The Support)
  3. 参数说明(About The Item)
  4. 方法 (Method)
  5. 方法说明 (About The Methods)
  6. 许可 (License)

项目说明(About The Project):

本工程(Pixel Packer)适用于游戏图像资源打包,包含精灵图帧(sprite),瓦片地图(tilemap),UI图片资源集等等制作。

image

支持说明(About The Support):

  • jpg, png, etc.
  • json
  • psd (待支持)

支持透明通道的png图片,用于存储图片路径,以及记录坐标尺寸的json文件。psd或其他打包软件文件待支持。

参数说明(About The Item):

  • int x (x坐标)
  • int y (y坐标)
  • int width (图片宽度)
    • -1(max width)
    • 0 (keep width)
  • int height (图片高度)
    • -1 (max width)
    • 0 (keep heght)
  • int lineSize (行数)
    • -1, 0 (max line)
  • int rowSize (列数)
    • -1, 0 (max row)
  • int lineWidth (行间隔)
  • int rowHeight (列间隔)

keep size是指保持原有尺寸,max size是指所有图片文件最大尺寸,trim则是清除透明边框后最大有效像素尺寸,line size小于0时默认打包为1行,row size同样小于0时默认按图片数打包正方形图集。

举例(图中红框为图块轮廓,打包时不包含):

public static int Keep_Size = 0;
public static int Max_Size = -1;
  1. keep size :
packKeepSize(file, false);
//or
pack(file, 0, 0, 0, 0, -1, -1, 0, 0, false);
//or
pack(file, 0, 0, 0, 0, 3, 3, 0, 0, false);

image

  1. keep size + trim :
packKeepSize(file, true);
//or
pack(file, 0, 0, 0, 0, -1, -1, 0, 0, true);
//or
pack(file, 0, 0, 0, 0, 3, 3, 0, 0, true);

image

  1. max size :
packMaxSize(file, false);
//or
pack(file, 0, 0, -1, -1, -1, -1, 0, 0, false);
//or
pack(file, 0, 0, -1, -1, 3, 3, 0, 0, false);

image

  1. max size + trim :
packMaxSize(file, true);
//or
pack(file, 0, 0, -1, -1, -1, -1, 0, 0, true);
//or
pack(file, 0, 0, -1, -1, 3, 3, 0, 0, true);

image

  1. pack polygon :
  • 5.1 packPolygon:
  • 5.2 packPolygonNon :
packPolygon(file, false);

image

packPolygonNon(file, false);

image

方法 (Method):

打包 (Pack):

解包 (Unpack):

打包或解包所有的方法。

(回到方法(back to method))

(回到目录(back to contents))

方法说明 (About The Method):

1.打包 (Pack):

  • pack
public void pack(File file, int x, int y, int width, int height, int lineSize, int rowSize, int lineWidth, int rowHeight, boolean isTrim) {}
  • pack keep size
public void packKeepSize(File file, boolean isTrim) {}
public void packKeepSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}
  • pack max size
public void packMaxSize(File file, boolean isTrim) {}
public void packMaxSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}

扫描文件夹(若选择文件,则扫描文件所在文件夹,pack的所有方法类同),将多个图片按照参数打包为指定行数和列数的图集。

2. 打包行 (Pack Line):

  • pack line keep size
public void packLineKeepSize(File file, boolean isTrim) {}
public void packLineKeepSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}
  • pack line max size
public void packLineMaxSize(File file, boolean isTrim) {}
public void packLineMaxSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}

扫描文件夹,默认打包为一行图集。

3. 打包列 (Pack Row):

  • pack row keep size
public void packRowKeepSize(File file, boolean isTrim) {}
public void packRowKeepSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}
  • pack row max size
public void packRowMaxSize(File file, boolean isTrim) {}
public void packRowMaxSize(File file, int x, int y, int lineWidth, int rowHeight, boolean isTrim) {}

扫描文件夹,默认打包为一列图集。

4. 打包多边形 (Pack Polygon):

4.1 混合打包(PackPolygon)
  • pack polygon
public void packPolygon(File file, boolean isTrim) {}

扫描文件夹,以图片次序,填充图块后打包为图集。

4.2 混合打包(PackPolygonNon)
  • pack polygon non
public void packPolygonNon(File file, boolean isTrim) {}

扫描文件夹,以图片次序,画布检测透明空间,填充图块后打包为图集。(适用于非封闭、不连贯、或异形图块紧密打包。)

5. 打包集 (Pack Properties):

  • pack properties
public void pack(File imageFile, File propFile, boolean isTrim) {}
public void pack(File imageFile, Properties properties, boolean isTrim) {}

扫描文件夹(若配置文件内有路径,第一项可设为null),按照配置信息打包图片为图集。

(回到打包 (back to pack))

(回到方法 (back to method))

6.解包 (Unpack):

  • unpack
public void unpack(File file, int x, int y, int width, int height, boolean isTrim) {}
public void unpack(File file, int x, int y, int width, int height, int lineSize, int rowSize, int lineWidth, int rowHeight, boolean isTrim) {}

读取图片文件,按照坐标解包图片中的所有,或指定行数和列数的像素块(指定宽高),然后分割并存储为多个图片。

7. 解包多边形 (Unpack Polygon):

  • unpack polygon
public void unpackPolygon(File file, boolean isTrim) {}
public void unpackPolygon(File file, int width, int height, boolean isTrim) {}

读取图片文件,解包图片中的非透明部分的像素块,然后分割并存储为多个图片。(暂不开放)

8. 解包集 (Unpack Properties):

  • unpack properties
public void unpack(File imageFile, File propFile, boolean isTrim) {}
public void unpack(File imageFile, Properties properties, boolean isTrim) {}

读取图片文件,按照配置信息解包图片,然后分割并存储为多个图片。

(回到解包 (back to unpack))

(回到方法(back to method))

(回到目录 (back to contents))

许可(License):


License : Apache License (Version 2.0)


About

Pack and Unpack images for the Sprite sheets.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages