free-tex-packer

by odrick

Free texture packer

274 Stars 27 Forks Last release: 4 months ago (v0.6.6) MIT License 322 Commits 31 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Free texture packer

logo

Free texture packer creates sprite sheets for you game or site. Rotation, trimming, multipacking, various export formats (json, xml, css, pixi.js, godot, phaser, cocos2d). Zip support. TinyPNG support. Split sheet tool.

screenshot

Homepage: http://free-tex-packer.com

Web version: http://free-tex-packer.com/app

Desktop versions for win, mac, linux: https://github.com/odrick/free-tex-packer/releases

Gulp module: https://github.com/odrick/gulp-free-tex-packer

Grunt plugin: https://github.com/odrick/grunt-free-tex-packer

Webpack plugin: https://github.com/odrick/webpack-free-tex-packer

CLI: https://github.com/odrick/free-tex-packer-cli

Custom templates

Free texture packer uses mustache template engine.

There are 3 objects passed to template:

rects (Array) list of sprites for export

| prop | type | description | | --- | --- | --- | | name | String | sprite name | | frame | Object | frame info (x, y, w, h, hw, hh) | | rotated | Boolean | sprite rotation flag | | trimmed | Boolean | sprite trimmed flag | | spriteSourceSize | Object | sprite source size (x, y, w, h) | | sourceSize | Object | original size (w, h) | | first | Boolean | first element in array flag | | last | Boolean | last element in array flag |

config (Object) current export config

| prop | type | description | | --- | --- | --- | | imageWidth | Number | texture width | | imageHeight | Number | texture height | | scale | Number | texture scale | | format | String | texture format | | imageName | String | texture name | | imageFile | String | texture file (name with extension) | | base64Export | Boolean | base64 export flag | | base64Prefix | String | prefix for base64 string | | imageData | String | base64 image data |

appInfo (Object) application info

| prop | type | description | | --- | --- | --- | | displayName | String | App name | | version | String | App version | | url | String | App url |

Example:

{
  "frames": {
    {{#rects}}
    "{{{name}}}": {
      "frame": {
        "x": {{frame.x}},
        "y": {{frame.y}},
        "w": {{frame.w}},
        "h": {{frame.h}}
      },
      "rotated": {{rotated}},
      "trimmed": {{trimmed}},
      "spriteSourceSize": {
        "x": {{spriteSourceSize.x}},
        "y": {{spriteSourceSize.y}},
        "w": {{spriteSourceSize.w}},
        "h": {{spriteSourceSize.h}}
      },
      "sourceSize": {
        "w": {{sourceSize.w}},
        "h": {{sourceSize.h}}
      },
      "pivot": {
        "x": 0.5,
        "y": 0.5
      }
    }{{^last}},{{/last}}
    {{/rects}}
  },
  "meta": {
    "app": "{{{appInfo.url}}}",
    "version": "{{appInfo.version}}",
    "image": "{{config.imageFile}}",
    "format": "{{config.format}}",
    "size": {
      "w": {{config.imageWidth}},
      "h": {{config.imageHeight}}
    },
    "scale": {{config.scale}}
  }
}

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.