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