Pixlr document
From Just Solve the File Format Problem
(Difference between revisions)
(→Format Specification) |
(→Format Specification) |
||
Line 32: | Line 32: | ||
2 bytes - namelen | 2 bytes - namelen | ||
n bytes - name | n bytes - name | ||
− | 1 byte - | + | 1 byte - layer type: 0=bitmap, 1=text (text layer also contains bitmap) |
4 bytes - layer x-pos | 4 bytes - layer x-pos |
Revision as of 16:12, 23 June 2017
Pixlr is a layered raster graphics format associated with Web based Pixlr application.
Format Specification
[pixlr.com limited documentation]
Pixlr document format
The pixlr format is a compressed binary format, why we choose this and not a xml/jpg ish format is due to many reasons.
It all comes down to quality, speed and file size.
The pxd file is compressed with zlib to reduce the file size.
The uncompressed data are then ordered into two main sections. The Header and the Layer section.
The header includes, pxd version, color-mode, width, height and number of layers.
Reverse engineered information (after inflating the file): 2 bytes - version = 3 2 bytes - colorMode = 0 4 bytes - width 4 bytes - height 2 bytes - numLayers 4 bytes - The total size of the layers in bytes for every layer 4 bytes - layer size in bytes (including layer bitmap data) 2 bytes - namelen n bytes - name 1 byte - layer type: 0=bitmap, 1=text (text layer also contains bitmap) 4 bytes - layer x-pos 4 bytes - layer y-pos 4 bytes - layer width 4 bytes - layer height 1 byte - opacity (0..100) 1 byte - visible (TODO: flags ?) 2 bytes - blendmode ? (TODO: layer protected flag?) 4 bytes - size in bytes of layer bitmap data n bytes - layer bitmap data in ARGB format (not premultiplied) (TODO: Layer masks and Layer styles) end every layer (TODO: Merged image data may be at the end ?)