SeekableStream s = new FileSeekableStream(inFile); TIFFDecodeParam param = null; ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param); RenderedImage op = dec.decodeAsRenderedImage(0); FileOutputStream fos = new FileOutputStream(otPath); JPEGEncodeParam jpgparam = new JPEGEncodeParam(); jpgparam.setQuality(67); ImageEncoder en = ImageCodec.createImageEncoder("jpeg", fos, jpgparam); en.encode(op); fos.flush(); fos.close();
private BufferedImage readImage2(byte[] imageBytes) throws IOException { SeekableStream stream = new ByteArraySeekableStream(imageBytes); String decoderName = null; for (String dn : ImageCodec.getDecoderNames(stream)) { decoderName = dn; break; } ImageDecoder decoder = ImageCodec.createImageDecoder(decoderName, stream, null); PlanarImage img = PlanarImage.wrapRenderedImage(decoder.decodeAsRenderedImage()); return img.getAsBufferedImage(); }
PlanarImage img = PlanarImage.wrapRenderedImage(decoder.decodeAsRenderedImage()); buffImage = img.getAsBufferedImage();
/** * Fallback Method, in some jre implementations, ImageIO.read(InputStream in) returns null. If * this happens, this method is called, which is not so efficient but it works * * @param imageBytes * @return * @throws IOException */ private BufferedImage readImage2(byte[] imageBytes) throws IOException { SeekableStream stream = new ByteArraySeekableStream(imageBytes); String decoderName = null; for (String dn : ImageCodec.getDecoderNames(stream)) { decoderName = dn; break; } ImageDecoder decoder = ImageCodec.createImageDecoder(decoderName, stream, null); PlanarImage img = PlanarImage.wrapRenderedImage(decoder.decodeAsRenderedImage()); return img.getAsBufferedImage(); } }
RenderedImage rimage = decoder.decodeAsRenderedImage();
try (SeekableStream seekableStream = new FileSeekableStream(filename)){ TIFFDecodeParam param = null; ImageDecoder dec = ImageCodec.createImageDecoder("tiff", seekableStream, param); // convert to buffered image if desired return new RenderedImageAdapter(dec.decodeAsRenderedImage()).getAsBufferedImage(); // convert to buffered image }
ImageDecoder dec = ImageCodec.createImageDecoder("PNM", new File(input), null); return new RenderedImageAdapter(dec.decodeAsRenderedImage()).getAsBufferedImage()
BufferedImage image[] = new BufferedImage[numImages]; for (int i = 0; i < numImages; i++) { SeekableStream ss = new FileSeekableStream(input_dir + file[i]); ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", ss, null); PlanarImage op = new NullOpImage(decoder.decodeAsRenderedImage(0), null, null, OpImage.OP_IO_BOUND); image[i] = op.getAsBufferedImage(); }
SeekableStream s = new FileSeekableStream(inFile); TIFFDecodeParam param = null; ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param); RenderedImage op = dec.decodeAsRenderedImage(0); FileOutputStream fos = new FileOutputStream(otPath); JPEGEncodeParam jpgparam = new JPEGEncodeParam(); jpgparam.setQuality(67); ImageEncoder en = ImageCodec.createImageEncoder("jpeg", fos, jpgparam); en.encode(op); fos.flush(); fos.close();
import javax.media.jai.PlanarImage; import com.sun.media.jai.codec.ByteArraySeekableStream; import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageDecoder; import com.sun.media.jai.codec.SeekableStream; import java.awt.Image; import java.awt.image.RenderedImage; ... static Image load(byte[] data) throws Exception{ Image image = null; SeekableStream stream = new ByteArraySeekableStream(data); String[] names = ImageCodec.getDecoderNames(stream); ImageDecoder dec = ImageCodec.createImageDecoder(names[0], stream, null); RenderedImage im = dec.decodeAsRenderedImage(); image = PlanarImage.wrapRenderedImage(im).getAsBufferedImage(); return image; }
import com.sun.media.jai.codec.FileSeekableStream; import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageDecoder; // This function is minimal, you should add exceptions and error handling public RenderedImage read(String filename) FileSeekableStream fss = new FileSeekableStream(filename); ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", fss, null); RenderedImage image = decoder.decodeAsRenderedImage() fss.close(); return image; }
int pageCount = dec.getNumPages(); for (int i = 1; i < pageCount; i++) { RenderedImage im = dec.decodeAsRenderedImage(i); vector.add(im); RenderedImage im = dec.decodeAsRenderedImage(0);
static private final BufferedImage openTIFF(final String path) throws Exception { /* final RenderedImage ri = ImageCodec.createImageDecoder("TIFF", new File(path), new TIFFDecodeParam()).decodeAsRenderedImage(); final PlanarImage pi = PlanarImage.wrapRenderedImage(ri); final BufferedImage img = pi.getAsBufferedImage(); */ return PlanarImage.wrapRenderedImage(ImageCodec.createImageDecoder("TIFF", new File(path), new TIFFDecodeParam()).decodeAsRenderedImage()).getAsBufferedImage(); }
TIFFDecodeParam param = null; ImageDecoder dec = ImageCodec.createImageDecoder("tiff", s, param); RenderedImage op = new NullOpImage(dec.decodeAsRenderedImage(0), null, OpImage.OP_IO_BOUND,
@Override public Object decode(InputStream inputStream) throws Exception { ImageDecoder decoder = getDecoder(inputStream); RenderedImage ri = null; try { ri = decoder.decodeAsRenderedImage(); } catch (IOException ioe){ WPSException wpse = new WPSException("Unable to decode the image. Expected an image having mimetype = " + mimeType); wpse.initCause(ioe); throw wpse; } return ri; }
for(int j = 0; j < numPages; j++) PlanarImage op = new NullOpImage(decoder.decodeAsRenderedImage(j), null, null, OpImage.OP_IO_BOUND); images.add(op.getAsBufferedImage());
@Override public Object decode(InputStream inputStream) throws Exception { ImageDecoder decoder = getDecoder(inputStream); RenderedImage ri = null; try { ri = decoder.decodeAsRenderedImage(); } catch (IOException ioe) { WPSException wpse = new WPSException( "Unable to decode the image. Expected an image having mimetype = " + mimeType); wpse.initCause(ioe); throw wpse; } return ri; }
@Override public void convert(InputStream input, OutputStream output) throws IOException { TIFFDecodeParam decodeParam = new TIFFDecodeParam(); decodeParam.setDecodePaletteAsShorts(true); decodeParam.setJPEGDecompressYCbCrToRGB(true); ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", input, decodeParam); try { RenderedImage image = decoder.decodeAsRenderedImage(); ImageEncodeParam encodeParam = new PNGEncodeParam.Palette(); ImageEncoder encoder = ImageCodec.createImageEncoder("png", output, encodeParam); encoder.encode(image); input.close(); } finally { IOUtils.closeQuietly(input); } }
new NullOpImage(dec.decodeAsRenderedImage(imageToLoad), null, OpImage.OP_IO_BOUND,
public static RenderedImage convertToRenderedImage(byte[] data) throws IOException { RenderedImage im = null; SeekableStream stream = new ByteArraySeekableStream(data); String[] names = ImageCodec.getDecoderNames(stream); if (names.length > 0) { ImageDecoder dec = ImageCodec.createImageDecoder(names[0], stream, null); im = dec.decodeAsRenderedImage(); } if (im == null) { ByteArray ba = new ByteArray(data); int len = ba.getLength() < 24 ? ba.getLength() : 24; log.warn("Unable to find codec for data: " + ba.readPns(0, len)); } return im; // An alternate way. Need to see if works with tiff images // BufferedImage ioResult = null; // stream = new ByteArraySeekableStream(data); // { // ImageInputStream iis = ImageIO.createImageInputStream(stream); // ioResult = ImageIO.read(iis); // } // Raster ioRaster = ioResult.getData(); }