This project's goal is to create a high performance fully managed JPEG2000 library based initially on the Java JJ2000 5.1 Library. A working J# library has been released and the C# version is functional but still in development. The CSJ2K C# library will contain a much simplified API for loading and saving JPEG2000 images from files and streams along with events for progessive downloads.
This project contains three subprojects:
JJ2000.NET is a direct port of JJ2000 to J#
JJ2000.NET 1.0b is now available for download. This is a simple direct port to J# and in no way resembles the interfaces for CSJ2K.
CSJ2K is a port from JJ2000.NET to C#
The initial C# port is complete and available in the CSJ2K subfolder along with two J# sample applications that make use of the C# library. Encoding and decoding is still a multi-step process and would require significant effort from a C# application. Work to create a simplified API derived from System.Drawing.Image or System.Drawing.Bitmap is underway.
A sample C# decoder application, codectest, has been added. At least partial support for Photoshop's Restricted ICC profile has been added and photoshop jpf files are now displaying. Some Photoshop save settings may still cause problems but the simplest JP2 compatible with Restricted ICC and progessive encoding is confirmed to work.
There are still a number of colorspace types from Part 2 addendums that are not yet supported including two used in the ISO provided test image set. These images load and display but may (or may not) look wrong due to lack of colorspace conversion.
There is still a lot of cleanup and refactoring to do as well as creating the simplified API. Please contact me if you'd like to help!
J2KSharp is a from-scratch C# implementation based solely on the specifications
JJ2000 had too many limitations for my purposes so I've created this project to start over from scratch.
* Reading jp2 box format files and fully parsing the embedded jpc codestream and packets. (MOSTLY COMPLETE: A few unusual layouts are unsupported )
* Implementing JPIP (both client and server) in the main library
* Creating a JPIP handler for IIS/ASP.NET.
* Decode image data to System.Drawing.Image
* Creating a SilverLight control for displaying, panning and zooming JPEG2000 images -- including transparent images.
* Decoding Motion JPEG2000