1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.imaging.examples;
18
19 import java.awt.GraphicsConfiguration;
20 import java.awt.GraphicsDevice;
21 import java.awt.GraphicsEnvironment;
22 import java.awt.Transparency;
23 import java.awt.image.BufferedImage;
24 import java.io.File;
25 import java.io.IOException;
26
27 import org.apache.commons.imaging.ImagingException;
28 import org.apache.commons.imaging.common.BufferedImageFactory;
29 import org.apache.commons.imaging.formats.tiff.TiffImageParser;
30 import org.apache.commons.imaging.formats.tiff.TiffImagingParameters;
31
32 public class ImageReadExample {
33 public static class ManagedImageBufferedImageFactory implements BufferedImageFactory {
34
35 @Override
36 public BufferedImage getColorBufferedImage(final int width, final int height, final boolean hasAlpha) {
37 final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
38 final GraphicsDevice gd = ge.getDefaultScreenDevice();
39 final GraphicsConfiguration gc = gd.getDefaultConfiguration();
40 return gc.createCompatibleImage(width, height, Transparency.TRANSLUCENT);
41 }
42
43 @Override
44 public BufferedImage getGrayscaleBufferedImage(final int width, final int height, final boolean hasAlpha) {
45 return getColorBufferedImage(width, height, hasAlpha);
46 }
47 }
48
49 public static BufferedImage imageReadExample(final File file) throws ImagingException, IOException {
50 final TiffImagingParameters params = new TiffImagingParameters();
51
52
53 params.setBufferedImageFactory(new ManagedImageBufferedImageFactory());
54
55
56
57
58 return new TiffImageParser().getBufferedImage(file, params);
59 }
60
61 }