In our ongoing series about reading and writing image files in Java we move our focus onto how we can read SGI images in Java.
What is SGI?
SGI (Silicon Graphics Image) is a file type of images with the extensions .sgi and .rgb. It has 2-channel support (.bw for black and white), 3-channel support (rgb/bwa) and 4-channel support (rgba). The ‘a’ represents alpha.
There are not many libraries out there that can read SGI images. Our JDeli Image library can read and write a very wide range of image formats, including SGI.
How to read SGI images in Java?
//Read Image (can also be OutputStream or byte array) File sgiFile = new File("sgiImage.sgi"); BufferedImage image = JDeli.read(sgiFile);
Or you can use the JDeli SgiDecoder directly:
SgiDecoder decoder = new SgiDecoder(); BufferedImage image = decoder.read(rawImageBytes);
Why use JDeli?
JDeli offers a range of advantages over ImageIO and alternatives, including:
- prevents heap related JVM crashes
- implements unsupported image formats
- reduce output file size
- improve read/write performance
- supports threading
- superior image scaling algorithms
This article is part of our series on reading and writing image files in Java.
IDRsolutions develop a Java PDF library, a PDF forms to HTML5 converter, a PDF to HTML5 or SVG converter and a Java Image Library that doubles as an ImageIO replacement. On the blog our team post about anything interesting they learn about.