Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1.     //Her sker alt samling af tif filer, ud fra den liste man får fra hashmappen.
  2.     public void merge() throws IOException {
  3.         List<String> tifs = new ArrayList<>(fileList.keySet());
  4.         Collections.sort(tifs);
  5.  
  6.         for (String key : tifs) {
  7.             List<File> files = fileList.get(key);
  8.  
  9.             // Sorter når er et behov for at listen er sorteret, ikke mens der hentes ud
  10.             Collections.sort(files);
  11.  
  12. //        int numTifs = files.length;  // 2 eller flere sider
  13.             int numTifs = files.size();
  14.             BufferedImage image[] = new BufferedImage[numTifs];
  15.             for (File page : files) {
  16.                 SeekableStream ss = new FileSeekableStream(page);
  17.                 ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", ss, null);
  18.                 PlanarImage pi = new NullOpImage(decoder.decodeAsRenderedImage(0), null, null, OpImage.OP_IO_BOUND);
  19.                 image[files.indexOf(page)] = pi.getAsBufferedImage();
  20.                 ss.close();
  21.             }
  22.  
  23.             TIFFEncodeParam params = new TIFFEncodeParam();
  24.             params.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
  25.             //Her skal det stå folderName
  26.             OutputStream out = new FileOutputStream(too.getPath() + "\\" + key + ".tif");
  27.             ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params);
  28.             List<BufferedImage> list = new ArrayList<BufferedImage>(image.length);
  29.             for (int i = 1; i < image.length; i++) {
  30.                 list.add(image[i]);
  31.             }
  32.             params.setExtraImages(list.iterator());
  33.             encoder.encode(image[0]);
  34.             out.close();
  35.         }
  36.         JOptionPane.showMessageDialog(rootPane, "Done!");
  37.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement