diff --git a/index.html b/index.html
index 4f674ebf..90fd9ada 100644
--- a/index.html
+++ b/index.html
@@ -43,7 +43,7 @@
Latest
-TwelveMonkeys ImageIO 3.1.2 is released (Aug. 14th, 2015).
+TwelveMonkeys ImageIO 3.2 is released (Nov. 1st, 2015).
About
@@ -60,14 +60,11 @@ The goal is to create a set of efficient and robust ImageIO plug-ins, that can b
-
-Features
+Features
Mainstream format support
-
-BMP - MS Windows/IBM OS/2 Device Independent Bitmap 3.1
-
+BMP - MS Windows/IBM OS/2 Device Independent Bitmap
- Read support for all known versions of the DIB/BMP format
@@ -77,18 +74,18 @@ The goal is to create a set of efficient and robust ImageIO plug-ins, that can b
- RGB, 16, 24 and 32 bit
- Embedded PNG and JPEG data
- Windows and OS/2 versions
-
-
+
Native and standard metadata format
-
-JPEG
+JPEG
- Read support for the following JPEG "flavors":
+- All JFIF compliant JPEGs
+- All Exif compliant JPEGs
- YCbCr JPEGs without JFIF segment (converted to RGB, using embedded ICC profile)
- CMYK JPEGs (converted to RGB by default or as CMYK, using embedded ICC profile)
- Adobe YCCK JPEGs (converted to RGB by default or as CMYK, using embedded ICC profile)
@@ -99,37 +96,31 @@ The goal is to create a set of efficient and robust ImageIO plug-ins, that can b
- 8 bit JPEGs with 16 bit DQT segments
- Issues warnings instead of throwing exceptions in cases of corrupted or non-conformant data where ever the image
data can still be read in a reasonable way
-
-
+
Thumbnail support:
- JFIF thumbnails (even if stream contains "inconsistent metadata")
- JFXX thumbnails (JPEG, Indexed and RGB)
- EXIF thumbnails (JPEG, RGB and YCbCr)
-
-
+
Metadata support:
- JPEG metadata in both standard and native formats (even if stream contains "inconsistent metadata")
--
-
javax_imageio_jpeg_image_1.0
format (currently as native format, may change in the future)
+javax_imageio_jpeg_image_1.0
format (currently as native format, may change in the future)
- Non-conforming combinations of JFIF, Exif and Adobe markers, using "unknown" segments in the
"MarkerSequence" tag for the unsupported segments (for
javax_imageio_jpeg_image_1.0
format)
-
-
+
Extended write support in progress:
-
+
-
-JPEG-2000
+JPEG-2000
- Possibly coming in the future, pending some license issues.
@@ -141,9 +132,7 @@ without success so far).
Alternatively, if you have or know of a JPEG-2000 implementation in Java with a suitable license, get in touch. :-)
-
-PNM - NetPBM Portable Any Map 3.1
-
+PNM - NetPBM Portable Any Map
- Read support for the following file types:
@@ -154,20 +143,17 @@ without success so far).
- PPM in 'P3' (ASCII) and 'P6' (binary) formats, up to 16/32 bits per pixel component
- PAM in 'P7' (binary) format up to 32 bits per pixel component
- Limited support for PFM in 'Pf' (gray) and 'PF' (RGB) formats, 32 bits floating point
-
-
+
Write support for the following formats:
- PPM in 'P6' (binary) format
- PAM in 'P7' (binary) format
-
-
+
Standard metadata support
-
-PSD - Adobe Photoshop Document
+PSD - Adobe Photoshop Document
- Read support for the following file types:
@@ -179,34 +165,29 @@ without success so far).
- Duotone, 1 channel, 8, 16 and 32 bit
- RGB, 3-4 channels, 8, 16 and 32 bit
- CMYK, 4-5 channels, 8, 16 and 32 bit
-
-
+
Read support for the following compression types:
- Uncompressed
- RLE (PackBits)
-
-
+
Layer support
- Image layers only, in all of the above types
-
-
+
Thumbnail support
-
+
Support for "Large Document Format" (PSB)
-Native metadata support
+Native and Standard metadata support
-
-TIFF - Aldus/Adobe Tagged Image File Format
+TIFF - Aldus/Adobe Tagged Image File Format
- Read support for the following "Baseline" TIFF file types:
@@ -216,42 +197,55 @@ without success so far).
- Class G (Gray), all relevant compression types, 2, 4, 8, 16 or 32 bits per sample, unsigned integer
- Class P (Palette/indexed color), all relevant compression types, 1, 2, 4, 8 or 16 bits per sample, unsigned integer
- Class R (RGB), all relevant compression types, 8 or 16 bits per sample, unsigned integer
-
-
+
Read support for the following TIFF extensions:
- Tiling
+- Class F (Facsimile), CCITT Modified Huffman RLE, T4 and T6 (type 2, 3 and 4) compressions.
- LZW Compression (type 5)
- "Old-style" JPEG Compression (type 6), as a best effort, as the spec is not well-defined
- JPEG Compression (type 7)
- ZLib (aka Adobe-style Deflate) Compression (type 8)
- Deflate Compression (type 32946)
- Horizontal differencing Predictor (type 2) for LZW, ZLib, Deflate and PackBits compression
-- Alpha channel (ExtraSamples type 1/Associated Alpha)
+- Alpha channel (ExtraSamples type 1/Associated Alpha and type 2/Unassociated Alpha)
- CMYK data (PhotometricInterpretation type 5/Separated)
- YCbCr data (PhotometricInterpretation type 6/YCbCr) for JPEG
+- CIELab data in TIFF, ITU and ICC variants (PhotometricInterpretation type 9, 10 and 11)
- Planar data (PlanarConfiguration type 2/Planar)
- ICC profiles (ICCProfile)
- BitsPerSample values up to 16 for most PhotometricInterpretations
- Multiple images (pages) in one file
-
-
+
Write support for most "Baseline" TIFF options
- Uncompressed, PackBits, ZLib and Deflate
-- Currently missing the CCITT fax encodings
+- Additional support for CCITT T4 and and T6 compressions.
- Additional support for LZW and JPEG (type 7) compressions
- Horizontal differencing Predictor (type 2) for LZW, ZLib, Deflate
-
-
+
+Native and Standard metadata support
Legacy formats
-
-IFF - Commodore Amiga/Electronic Arts Interchange File Format
+HDR - Radiance High Dynamic Range RGBE Format
+
+
+- Read support for the most common RGBE (.hdr) format
+- Samples are converted to 32 bit floating point (
float
) and normalized using a global tone mapper by default.
+
+
+- Support for custom global tone mappers
+- Alternatively, use a "null-tone mapper", for unnormalized data (allows local tone mapping)
+
+- Unconverted RGBE samples accessible using
readRaster
+- Standard metadata support
+
+
+IFF - Commodore Amiga/Electronic Arts Interchange File Format
- Legacy format, allows reading popular image format from the Commodore Amiga computer.
@@ -266,26 +260,21 @@ without success so far).
- PBM Gray, 8 bit
- PBM RGB, 24 and 32 bit
- PBM HAM6 and HAM8
-
-
+
Write support
- ILBM Indexed color, 1-8 bits per sample, 8 bit gray, 24 and 32 bit true color.
-
-
+
Support for the following compression types (read/write):
- Uncompressed
- RLE (PackBits)
-
-
+
-
-PCX - ZSoft Paintbrush Format 3.1
-
+PCX - ZSoft Paintbrush Format
- Read support for the following file types:
@@ -294,21 +283,18 @@ without success so far).
- Indexed color, 1, 2, 4 or 8 bits per pixel, bit planes or interleaved
- Grayscale, 8 bits per pixel
- Color (RGB), 8 bits per pixel component
-
-
+
Read support for DCX (multi-page) fax format, containing any of the above types
Support for the following compression types:
- Uncompressed (experimental)
- RLE compressed
-
-
+
Standard metadata support
-
-PICT - Apple Mac Paint Picture Format
+PICT - Apple Mac Paint Picture Format
- Legacy format, especially useful for reading OS X clipboard data.
@@ -319,19 +305,15 @@ without success so far).
- QuickDraw bitmap
- QuickDraw pixmap
- QuickTime stills
-
-
+
Write support for RGB pixel data:
-
+
-
-SGI - Silicon Graphics Image Format 3.1
-
+SGI - Silicon Graphics Image Format
- Read support for the following file types:
@@ -339,21 +321,17 @@ without success so far).
- 1, 2, 3 or 4 channel image data
- 8 or 16 bits per pixel component
-
-
+
Support for the following compression types:
- Uncompressed
- RLE compressed
-
-
+
Standard metadata support
-
-TGA - Truevision TGA Image Format 3.1
-
+TGA - Truevision TGA Image Format
- Read support for the following file types:
@@ -362,22 +340,19 @@ without success so far).
- ColorMapped
- Monochrome
- TrueColor
-
-
+
Support for the following compression types:
- Uncompressed
- RLE compressed
-
-
+
Standard metadata support
Icon/other formats
-
-ICNS - Apple Icon Image
+ICNS - Apple Icon Image
- Read support for the following icon types:
@@ -386,12 +361,10 @@ without success so far).
- All known "native" icon types
- Large PNG encoded icons
- Large JPEG 2000 encoded icons (requires JPEG 2000 ImageIO plugin or fallback to
sips
command line tool)
-
-
+
-
-ICO & CUR - MS Windows Icon and Cursor Formats
+ICO & CUR - MS Windows Icon and Cursor Formats
- Read support for the following file types:
@@ -401,13 +374,11 @@ without success so far).
- ICO RGB, 16, 24 and 32 bit
- CUR Indexed color, 1, 4 and 8 bit
- CUR RGB, 16, 24 and 32 bit
-
-
+
3.1 Note: These formats are now part of the BMP plugin
-
-Thumbs.db - MS Windows Thumbs DB
+Thumbs.db - MS Windows Thumbs DB
- Read support
@@ -415,22 +386,19 @@ without success so far).
Other formats, using 3rd party libraries
-
-SVG - Scalable Vector Graphics
+SVG - Scalable Vector Graphics
- Read-only support using Batik
-
-WMF - MS Windows MetaFile
+WMF - MS Windows MetaFile
- Limited read-only support using Batik
-
-Basic usage
+Basic usage
Most of the time, all you need to do is simply include the plugins in your project and write:
@@ -450,8 +418,7 @@ without success so far).
The plugins are discovered automatically at run time. See the FAQ for more info on how this mechanism works.
-
-Advanced usage
+Advanced usage
If you need more control of read parameters and the reading process, the common idiom for reading is something like:
@@ -549,8 +516,7 @@ finally {
Java Image I/O API Guide
from Oracle.
-
-Deploying the plugins in a web app
+Deploying the plugins in a web app
Because the ImageIO
plugin registry (the IIORegistry
) is "VM global", it doesn't by default work well with
servlet contexts. This is especially evident if you load plugins from the WEB-INF/lib
or classes
folder.
@@ -588,8 +554,7 @@ or other ImageIO plugins as well.
Another safe option, is to place the JAR files in the application server's shared or common lib folder.
-
-Using the ResampleOp
+Using the ResampleOp
The library comes with a resampling (image resizing) operation, that contains many different algorithms
to provide excellent results at reasonable speed.
@@ -605,8 +570,7 @@ BufferedImageOp resampler = new ResampleOp(width, height, ResampleOp.FILTER_LANC
BufferedImage output = resampler.filter(input, null);
-
-Using the DiffusionDither
+Using the DiffusionDither
The library comes with a dithering operation, that can be used to convert BufferedImage
s to IndexColorModel
using
Floyd-Steinberg error-diffusion dither.
@@ -621,8 +585,7 @@ BufferedImageOp ditherer = new DiffusionDither();
BufferedImage output = ditherer.filter(input, null);
-
-Building
+Building
Download the project (using Git):
@@ -639,7 +602,7 @@ folder, and issue the command below to build.
Currently, the recommended JDK for making a build is Oracle JDK 7.x or 8.x.
-It's possible to build using OpenJDK, but some tests might fail due to some minor differences between the color management systems used. You will need to either disable the tests in question, or build without tests altogether.
+
It's possible to build using OpenJDK, but some tests might fail due to some minor differences between the color management systems used. You will need to either disable the tests in question, or build without tests altogether.
Because the unit tests needs quite a bit of memory to run, you might have to set the environment variable MAVEN_OPTS
to give the Java process that runs Maven more memory. I suggest something like -Xmx512m -XX:MaxPermSize=256m
.
@@ -649,8 +612,7 @@ to give the Java process that runs Maven more memory. I suggest something like <
$ mvn install
-
-Installing
+Installing
To install the plug-ins,
either use Maven and add the necessary dependencies to your project,
@@ -671,8 +633,7 @@ while (readers.hasNext()) {
reader: com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader@somehash
-
-Maven dependency example
+Maven dependency example
To depend on the JPEG and TIFF plugin using Maven, add the following to your POM:
@@ -682,90 +643,87 @@ while (readers.hasNext()) {
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
- <version>3.1.2</version> <!-- Alternatively, build your own version -->
+ <version>3.2</version> <!-- Alternatively, build your own version -->
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
- <version>3.1.2</version> <!-- Alternatively, build your own version -->
+ <version>3.2</version> <!-- Alternatively, build your own version -->
</dependency>
</dependencies>
-
-Manual dependency example
+Manual dependency example
To depend on the JPEG and TIFF plugin in your IDE or program, add all of the following JARs to your class path:
-twelvemonkeys-common-lang-3.1.2.jar
-twelvemonkeys-common-io-3.1.2.jar
-twelvemonkeys-common-image-3.1.2.jar
-twelvemonkeys-imageio-core-3.1.2.jar
-twelvemonkeys-imageio-metadata-3.1.2.jar
-twelvemonkeys-imageio-jpeg-3.1.2.jar
-twelvemonkeys-imageio-tiff-3.1.2.jar
+twelvemonkeys-common-lang-3.2.jar
+twelvemonkeys-common-io-3.2.jar
+twelvemonkeys-common-image-3.2.jar
+twelvemonkeys-imageio-core-3.2.jar
+twelvemonkeys-imageio-metadata-3.2.jar
+twelvemonkeys-imageio-jpeg-3.2.jar
+twelvemonkeys-imageio-tiff-3.2.jar
-
-Links to prebuilt binaries
+Links to prebuilt binaries
-
-Latest version (3.1.x)
+Latest version (3.1.x)
Requires Java 7 or later.
Common dependencies
ImageIO dependencies
ImageIO plugins
ImageIO plugins requiring 3rd party libs
Photoshop Path support for ImageIO
Servlet support
-
-Old version (3.0.x)
+Old version (3.0.x)
Use this version for projects that requires Java 6 or need the JMagick support. Does not support Java 8.
@@ -810,8 +768,7 @@ twelvemonkeys-imageio-tiff-3.1.2.jar
servlet-3.0.2.jar
-
-License
+License
The project is distributed under the OSI approved BSD license:
@@ -845,8 +802,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-FAQ
+FAQ
q: How do I use it?