Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Her sker alt samling af tif filer, ud fra den liste man får fra hashmappen.
- public void merge() throws IOException {
- List<String> tifs = new ArrayList<>(fileList.keySet());
- Collections.sort(tifs);
- for (String key : tifs) {
- List<File> files = fileList.get(key);
- // Sorter når er et behov for at listen er sorteret, ikke mens der hentes ud
- Collections.sort(files);
- // int numTifs = files.length; // 2 eller flere sider
- int numTifs = files.size();
- BufferedImage image[] = new BufferedImage[numTifs];
- for (File page : files) {
- SeekableStream ss = new FileSeekableStream(page);
- ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", ss, null);
- PlanarImage pi = new NullOpImage(decoder.decodeAsRenderedImage(0), null, null, OpImage.OP_IO_BOUND);
- image[files.indexOf(page)] = pi.getAsBufferedImage();
- ss.close();
- }
- TIFFEncodeParam params = new TIFFEncodeParam();
- params.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
- //Her skal det stå folderName
- OutputStream out = new FileOutputStream(too.getPath() + "\\" + key + ".tif");
- ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params);
- List<BufferedImage> list = new ArrayList<BufferedImage>(image.length);
- for (int i = 1; i < image.length; i++) {
- list.add(image[i]);
- }
- params.setExtraImages(list.iterator());
- encoder.encode(image[0]);
- out.close();
- }
- JOptionPane.showMessageDialog(rootPane, "Done!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement