Proposal for Imaging Wrapper Package

(0) rationale

Many web and desktop applications need some imaging support. Even though the most 
commonly used operations on an image are simple operations such as resize/ scale, 
rotate, overlay, crop, add a border, etc., the imaging APIs such as Java2D and JAI do 
not offer direct method calls to achieve this. Moreover the code will have to change 
significantly to shift from using Java2D to JAI or vice versa. The proposed Imaging 
Wrapper will provide a simple interface with direct calls to achieve these imaging 
operations. It would also include reading and writing of image files. The underlying 
API used can be specified as a parameter. 

One of the main design objectives is to make it as simple as possible for someone 
without much knowledge of the underlying imaging APIs. The implementation was done so 
far under the name PMIW - Poor Man's Imaging Wrapper 
(http://www.mullassery.com/software/PMIW/). PMIW is currently used in Jakarta Image 
Taglib (http://jakarta.apache.org/taglibs/sandbox/doc/image-doc/intro.html), external 
Jakarta ANT Image Tasks (http://ant.apache.org/external.html#Image) and elsewhere. A 
Commons package would give committers an opportunity to coordinate their efforts to 
create and maintain a efficient, feature-rich package under the ASF license.


(1) scope of the package

The package shall implement an Imaging Wrapper written in the Java language to be 
distributed under the ASF license. The package shall be available as a set of imaging 
operations via an Imaging interface. The package shall also support reading and 
writing of images files based on the underlying API support available and other 
features.

It includes the basic Java2D and Java Advanced Imaging based implementations. The 
Java2D uses ImageIO (as part of Java 1.4 or otherwise) or AWT for loading images. If 
JAI libraries are available they will be used. The library can also be explicitly 
specified.
It requires either Java2D or Java Advanced Imaging libraries and pjatools.jar 
(http://www.eteks.com/pja/en/) for optional GIF encoding support.


(2) identify the initial source for the package

The initial codebase of PMIW can be contributed by Abey Mullassery that can be 
distributed under the Apache license. The source is available at 
http://www.mullassery.com/downloads/pmiw/pmiw-src.jar

(2.1) identify the base name for the package

org.apache.commons.imaging

(2.2) identify the coding conventions for this package

The code uses the Sun coding conventions.


(3) identify any Jakarta-Commons resources to be created

(3.1) mailing list

Until traffic justifies, the package will use the Jakarta-Commons list for 
communications.

(3.2) CVS repositories

For the time being, the package will use a root branch of the Jakarta-Commons CVS.

(3.3) Bugzilla

The package should be listed as a component of under the Jakarta-Commons Bugzilla 
entry.

(3.4) Jyve FAQ (when available)

commons-imaging


(4) identify the initial set of committers to be listed in the Status File.

Abey Mullassery


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to