At the moment this page serves as a brainstorming sandbox for a OpenRaster reference implementation (from now on referred to as libora). Following libpng as an example it should be written in standard C for easy portability, have a low dependency count and a low memory consumption.
A list of dependencies (the goal is to use only the really essential ones):
- libpng - for image encoding/compression
- zlib - for compression
- expat - for XML parsing
- exempi - XMP metadata handling
Simplified BSD License
The code was so far tested only on Ubuntu 9.10, so expect some initial problems when porting to other platforms (especially Windows and OSX).
- What is done?
- Basic opening and saving of documents
- Nested stack support (Tested only for single stack ... probably some bugs here)
- Layer saving for RGBA/RGB 8/16-bit images (tested only for 8-bit)
- oratool is some kind of demonstration/test ... put ORA file in and it reads it, writes it back (layers) and measures time
- oratool: unpacking layers to multiple files - works for PNGs but disabled at the moment
- What will be done
- Thumbnail saving (image provided by the host application)
- oratool: Basic terminal tool for displaying ORA info
- Basic metadata support
- Tiled images saving mechanisms (reduce memory usage for applications that use tiled images)
- What would be nice to do
- Custom layer metadata
- Vector layers, text layers
- Filters (Contributors: 12 Jan -- 17 Feb 2010 Lukacu