TIFFEncodeParam param = new TIFFEncodeParam(); param.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4); param.setReverseFillOrder(true); param.setLittleEndian(true); param.setWriteTiled(false); param.setTileSize(-1, images[0].getHeight());
TIFFEncodeParam tep = new TIFFEncodeParam(); // Create {X,Y}Resolution fields. TIFFField fieldXRes = new TIFFField(0x11A, TIFFField.TIFF_RATIONAL, 1, new long[][] {{DPI_X, 1}}); TIFFField fieldYRes = new TIFFField(0x11B, TIFFField.TIFF_RATIONAL, 1, new long[][] {{DPI_Y, 1}}); tep.setExtraFields(new TIFFField[] {fieldXRes, fieldYRes});
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();
public void storeImage(TiledImage img, String filepath) { TIFFEncodeParam tep = new TIFFEncodeParam(); //important to avoid OutOfMemory tep.setTileSize(256, 256); tep.setWriteTiled(true); //fast compression tep.setCompression(TIFFEncodeParam.COMPRESSION_PACKBITS); //write file JAI.create("filestore", img, filepath, "TIFF", tep); }
public byte[] convertToTiff() throws IOException { RenderedImage image = this.image; TIFFEncodeParam param = new TIFFEncodeParam(); param.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4); param.setLittleEndian(true); param.setTileSize(image.getWidth(), image.getHeight()); param.setExtraFields(extraFields);
int count = decodedImage.getNumPages(); if (debugOn) { System.out.println("Input image has " + count + " page(s)"); } TIFFEncodeParam param = new TIFFEncodeParam(); TIFFField tf = td.getField(259); // Compression as specified in the input file param.setCompression(tf.getAsInt(0)); // Set the compression of the output to be the same. param.setLittleEndian(false); // Intel param.setExtraFields(td.getFields()); FileOutputStream fOut = new FileOutputStream(outTiffFileName); Vector<RenderedImage> vector = new Vector<RenderedImage>(); vector.add(page); param.setExtraImages(vector.iterator()); ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", fOut, param); if (debugOn) { System.out.println("Encoding page " + pages[0]); }
TIFFEncodeParam params = new TIFFEncodeParam(); OutputStream out = new FileOutputStream(result); List<BufferedImage> imageList = new ArrayList<BufferedImage>(); params.setWriteTiled(true); params.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4); params.setExtraImages(imageList.iterator()); TIFFField[] extras = new TIFFField[2]; extras[0] = new TIFFField(282, TIFFField.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 300, (long) 1 }, extras[1] = new TIFFField(283, TIFFField.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 300, (long) 1 }, { (long) 0, (long) 0 } }); params.setExtraFields(extras); ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params); encoder.encode(output.get(0));
ColorModel cm = source.createColorModel(); // SampleModel with the tilesize SampleModel sm = cm.createCompatibleSampleModel(tileWidth, tileHeight); TiledImage image = new TiledImage(0, 0, imageWidth, imageHeight, 0, 0, sm, cm); TIFFEncodeParam tep = new TIFFEncodeParam(); tep.setTileSize(tileWidth, tileHeight); // Set tile size to avoid OOM tep.setWriteTiled(true); JAI.create("filestore", image, filepath, "TIFF", tep);
public static void writeImage(RenderedImage image, String fileName) { String tmpFileName = new File(tmpDir, fileName).getAbsolutePath(); TIFFEncodeParam param = new TIFFEncodeParam(); //param.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2); JAI.create("filestore", image, tmpFileName, "TIFF");//, param); }
TIFFEncodeParam params = new TIFFEncodeParam(); params.setCompression(TIFFEncodeParam.COMPRESSION_GROUP3_1D); int changeName = 1; String tempCurrentFile = currentFile; vector.add(image[i]); params.setExtraImages(vector.iterator()); encoder.encode(image[0]); for(int i = 0; i < image.length; i++)
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; }
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); }
TIFFField yRes = new TIFFField(Y_RES_TAG, TIFFField.TIFF_RATIONAL, 1, new long[][]{resolution}); TIFFEncodeParam tep = new TIFFEncodeParam(); tep.setExtraFields(new TIFFField[]{xRes, yRes}); JAI.create("Encode", img, out, "TIFF", tep); out.close();
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);
TIFFEncodeParam params = new TIFFEncodeParam(); OutputStream out = new FileOutputStream(inputDir + "\\combined.tif"); ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params); params.setExtraImages(imageList.iterator()); encoder.encode(images.get(0)); out.close();
com.sun.media.jai.codec.TIFFEncodeParam params = new com.sun.media.jai.codec.TIFFEncodeParam(); params.setCompression(com.sun.media.jai.codec.TIFFEncodeParam.COMPRESSION_PACKBITS);