Pixlr document

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Format Specification)
m (Format Specification)
Line 29: Line 29:
  
 
for every layer
 
for every layer
   4 bytes - layer size in bytes (including layer bitmap data)
+
   4 bytes - total layer size in bytes
 
   2 bytes - namelen
 
   2 bytes - namelen
 
   n bytes - name
 
   n bytes - name

Revision as of 16:35, 24 June 2017

File Format
Name Pixlr document
Ontology
Extension(s) .pxd

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 - total layer size in bytes
  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
  2 bytes - blendmode

  4 bytes - size in bytes of layer bitmap data
  n bytes - layer bitmap data in ARGB format (not premultiplied)

  4 bytes - size in bytes of layer mask data (0 if no mask)
  1 byte - number of layer style effects
  for every effect
     4 bytes - size in bytes of effect data
     1 byte - type of effect
     n bytes - effect data (TODO)
  end every effect

  2 bytes - unknown
  if text layer
    text + font data (TODO)
  end if

end every layer

(TODO: Merged image data may be at the end ?)

Software

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox