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.
I've not had the time to work on this project in a few years so it is out of date. However,
appears to have done a superb job of extending CSJ2K and making it portable. Check out
for the source or grab the package from
. Thanks, cureos!
UPDATE APRIL 17, 2015
Version 0.9.1 of CSJ2K
has just been uploaded to
. This version contains a simple static method for encoding to JPEG2000 images from
image formats. For more details on method usage, visit the
This project contains two 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!