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();
@Override public void encode(Object value, OutputStream outputStream) throws Exception { RenderedImage renderedImage = (RenderedImage) value; ImageEncoder encoder = getEncoder(outputStream); encoder.encode(renderedImage); }
@Override public void encode(Object value, OutputStream outputStream) throws Exception { RenderedImage renderedImage = (RenderedImage) value; ImageEncoder encoder = getEncoder(outputStream); encoder.encode(renderedImage); }
void get8bitImage(byte[] data, int width, int height) { BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY); byte[] rasterData = ((DataBufferByte)image.getRaster().getDataBuffer()).getData(); System.arraycopy(pixels, 0, rasterData, 0, pixels.length); // A LOT faster than 'setData()' } void main(String[] argv) { TIFFEncodeParam ep = new TIFFEncodeParam(); FileOutputStream out = new FileOutputStream("c:\\test.tiff"); BufferedImage img = get8bitImage(myData); ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, ep); encoder.encode(img); }
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();
TIFFEncodeParam params = new TIFFEncodeParam(); OutputStream out = new FileOutputStream(output_dir + image_name + ".tif"); ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params); Vector vector = new Vector(); for (int i = 0; i < numImages; i++) { vector.add(image[i]); } params.setExtraImages(vector.listIterator(1)); // this may need a check to avoid IndexOutOfBoundsException when vector is empty encoder.encode(image[0]); out.close();
//Set-up and load file PlanarImage image = JAI.create("fileload", absPath); RenderingHints quality = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); Properties p = new Properties(System.getProperties()); p.put("com.sun.media.jai.disableMediaLib", "true"); System.setProperties(p); //Setup the processes ParameterBlock pb = new ParameterBlock() .addSource(image) .add(scaleX) //scaleX = (double)1.0*finalX/origX .add(scaleY); //scaleY = (double)1.0*finalY/origY RenderedOp tempProcessingFile = JAI.create("SubsampleAverage", pb, quality); //Save the file FileOutputStream fout = new FileOutputStream(file); JPEGEncodeParam encodeParam = new JPEGEncodeParam(); encodeParam.setQuality(0.92f); //My experience is anything below 0.92f gives bad result ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", fout, encodeParam); encoder.encode(tempProcessingFile.getAsBufferedImage());
FileOutputStream fos = new FileOutputStream("C:/test/output/myFile.tif"); RenderedOp src = JAI.create("fileload", "C:/test/input/myFile.jpg"); BufferedImage buf = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_BYTE_BINARY); buf.getGraphics().drawImage(src.getAsBufferedImage(), 0, 0, null); RenderedImage ri = (RenderedImage) buf; encodeParam = new TIFFEncodeParam (); encodeParam.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4); ImageEncoder enc = ImageCodec.createImageEncoder("TIFF", fos, encodeParam); enc.encode(ri);
encoder.encode(images.get(0)); out.close();
ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", fOut, param); if (debugOn) { System.out.println("Encoding page " + pages[0]); } encoder.encode(decodedImage.decodeAsRenderedImage(Integer.parseInt(pages[0]))); fOut.close(); } catch (Exception e) {
static public final boolean saveAsTIFF(BufferedImage bi, final String path, final boolean as_grey) { if (!checkPath(path)) return false; synchronized (getPathLock(path)) { OutputStream out = null; try { if (as_grey) bi = asGrey(bi); final TIFFEncodeParam param = new TIFFEncodeParam(); // If the bi is larger than 512x512, I could use COMPRESSION_LZW or COMPRESSION_DEFLATE (zip-in-tiff, lossless), or COMPRESSION_JPEG_TTN2 (Jpeg-in-tiff) -- i.e. an adaptive strategy as suggested by Clay Reid param.setCompression(TIFFEncodeParam.COMPRESSION_NONE); out = new BufferedOutputStream(new FileOutputStream(path)); ImageCodec.createImageEncoder("TIFF", out, param).encode(bi); out.flush(); // !@#$% Couldn't it do it by itself? final File f = new File(path); return f.exists() && f.length() > 0; // no other way to check if the writing was successful } catch (FileNotFoundException fnfe) { Utils.log2("saveAsTIFF: Path not found: " + path); } catch (Exception e) { IJError.print(e, true); } finally { if (null != out) try { out.close(); } catch (Exception e) {} removePathLock(path); } } return false; }
@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); } }
ImageEncoder encoder = ImageCodec.createImageEncoder("jpeg", out, p); encoder.encode(diagramImage);
private void exportImages(KmlFeature kmlFeature, ZipOutputStream zipOutputStream, ProgressMonitor pm) throws IOException { if (pm.isCanceled()) { return; } if (kmlFeature instanceof KmlOverlay) { KmlOverlay overlay = (KmlOverlay) kmlFeature; zipOutputStream.putNextEntry(new ZipEntry(overlay.getIconFileName())); ImageEncoder encoder = ImageCodec.createImageEncoder(IMAGE_TYPE, zipOutputStream, null); encoder.encode(overlay.getOverlay()); pm.worked(1); } if (kmlFeature instanceof KmlContainer) { KmlContainer container = (KmlContainer) kmlFeature; for (KmlFeature feature : container.getChildren()) { exportImages(feature, zipOutputStream, pm); } } }
ImageEncoder encoder = ImageCodec.createImageEncoder("jpeg", out, p); encoder.encode(legendImage);
encoder.encode( img.getData(), img.getColorModel() ); } catch ( Exception e ) { LOG.error( "Could not create legend.", e );
ByteArrayOutputStream stream = new ByteArrayOutputStream(size); ImageEncoder enc = ImageCodec.createImageEncoder("tiff", stream, param); enc.encode(image);
try { ImageEncoder encoder = ImageCodec.createImageEncoder(imageFormat, stream, null); encoder.encode(image); } finally { stream.close();
encoder.encode(image);