Replaced TYPE constants in TIFFImageFileDirectory with an enum (TIFFImageType).
1.1 --- a/net/sourceforge/jiu/codecs/tiff/TIFFCodec.java Fri Aug 07 23:30:59 2009 +0200
1.2 +++ b/net/sourceforge/jiu/codecs/tiff/TIFFCodec.java Sat Aug 08 21:26:33 2009 +0200
1.3 @@ -399,42 +399,42 @@
1.4 PixelImage image = getImage();
1.5 if (image == null)
1.6 {
1.7 - int imageType = ifd.getImageType();
1.8 + TIFFImageType imageType = ifd.getImageType();
1.9 switch (imageType)
1.10 {
1.11 - case(TIFFImageFileDirectory.TYPE_BILEVEL_BYTE):
1.12 - case(TIFFImageFileDirectory.TYPE_BILEVEL_PACKED):
1.13 + case BILEVEL_BYTE:
1.14 + case BILEVEL_PACKED:
1.15 {
1.16 image = new MemoryBilevelImage(width, height);
1.17 break;
1.18 }
1.19 - case(TIFFImageFileDirectory.TYPE_GRAY4):
1.20 - case(TIFFImageFileDirectory.TYPE_GRAY8):
1.21 - case(TIFFImageFileDirectory.TYPE_LOGL):
1.22 + case GRAY4:
1.23 + case GRAY8:
1.24 + case LOGL:
1.25 {
1.26 image = new MemoryGray8Image(width, height);
1.27 break;
1.28 }
1.29 - case(TIFFImageFileDirectory.TYPE_GRAY16):
1.30 + case GRAY16:
1.31 {
1.32 image = new MemoryGray16Image(width, height);
1.33 break;
1.34 }
1.35 - case(TIFFImageFileDirectory.TYPE_PALETTED4):
1.36 - case(TIFFImageFileDirectory.TYPE_PALETTED8):
1.37 + case PALETTED4:
1.38 + case PALETTED8:
1.39 {
1.40 image = new MemoryPaletted8Image(width, height, ifd.getPalette());
1.41 break;
1.42 }
1.43 - case(TIFFImageFileDirectory.TYPE_CMYK32_INTERLEAVED):
1.44 - case(TIFFImageFileDirectory.TYPE_CMYK32_PLANAR):
1.45 - case(TIFFImageFileDirectory.TYPE_RGB24_INTERLEAVED):
1.46 - case(TIFFImageFileDirectory.TYPE_LOGLUV32_INTERLEAVED):
1.47 + case CMYK32_INTERLEAVED:
1.48 + case CMYK32_PLANAR:
1.49 + case RGB24_INTERLEAVED:
1.50 + case LOGLUV32_INTERLEAVED:
1.51 {
1.52 image = new MemoryRGB24Image(width, height);
1.53 break;
1.54 }
1.55 - case(TIFFImageFileDirectory.TYPE_RGB48_INTERLEAVED):
1.56 + case RGB48_INTERLEAVED:
1.57 {
1.58 image = new MemoryRGB48Image(width, height);
1.59 break;
2.1 --- a/net/sourceforge/jiu/codecs/tiff/TIFFDecoder.java Fri Aug 07 23:30:59 2009 +0200
2.2 +++ b/net/sourceforge/jiu/codecs/tiff/TIFFDecoder.java Sat Aug 08 21:26:33 2009 +0200
2.3 @@ -309,7 +309,7 @@
2.4 numPixels -= (rightPixels + leftPixels);
2.5 switch(ifd.getImageType())
2.6 {
2.7 - case(TIFFImageFileDirectory.TYPE_BILEVEL_BYTE):
2.8 + case BILEVEL_BYTE:
2.9 {
2.10 BilevelImage image = (BilevelImage)codec.getImage();
2.11 int index = offset + leftPixels;
2.12 @@ -327,14 +327,14 @@
2.13 }
2.14 break;
2.15 }
2.16 - case(TIFFImageFileDirectory.TYPE_BILEVEL_PACKED):
2.17 + case BILEVEL_PACKED:
2.18 {
2.19 BilevelImage image = (BilevelImage)codec.getImage();
2.20 int x = getX1() - codec.getBoundsX1() + leftPixels;
2.21 image.putPackedBytes(x, y, numPixels, data, offset + (leftPixels / 8), leftPixels % 8);
2.22 break;
2.23 }
2.24 - case(TIFFImageFileDirectory.TYPE_GRAY4):
2.25 + case GRAY4:
2.26 {
2.27 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.28 byte[] dest = new byte[data.length * 2];
2.29 @@ -348,7 +348,7 @@
2.30 image.putByteSamples(0, getX1() - codec.getBoundsX1() + leftPixels, y, numPixels, 1, dest, offset + leftPixels);
2.31 break;
2.32 }
2.33 - case(TIFFImageFileDirectory.TYPE_PALETTED4):
2.34 + case PALETTED4:
2.35 {
2.36 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.37 byte[] dest = new byte[data.length * 2];
2.38 @@ -356,14 +356,14 @@
2.39 image.putByteSamples(0, getX1() - codec.getBoundsX1() + leftPixels, y, numPixels, 1, dest, offset + leftPixels);
2.40 break;
2.41 }
2.42 - case(TIFFImageFileDirectory.TYPE_GRAY8):
2.43 - case(TIFFImageFileDirectory.TYPE_PALETTED8):
2.44 + case GRAY8:
2.45 + case PALETTED8:
2.46 {
2.47 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.48 image.putByteSamples(0, getX1() - codec.getBoundsX1() + leftPixels, y, numPixels, 1, data, offset + leftPixels);
2.49 break;
2.50 }
2.51 - case(TIFFImageFileDirectory.TYPE_CMYK32_INTERLEAVED):
2.52 + case CMYK32_INTERLEAVED:
2.53 {
2.54 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.55 byte[] dest = new byte[data.length];
2.56 @@ -379,7 +379,7 @@
2.57 image.putByteSamples(RGBIndex.INDEX_BLUE, getX1() - codec.getBoundsX1() + leftPixels, y, numPixels, 1, dest, 2 * numSamples + leftPixels);
2.58 break;
2.59 }
2.60 -/* case(TIFFImageFileDirectory.TYPE_CMYK32_PLANAR):
2.61 +/* case CMYK32_PLANAR:
2.62 {
2.63 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.64 byte[] dest = new byte[data.length];
2.65 @@ -398,7 +398,7 @@
2.66 image.putByteSamples(RGBIndex.INDEX_BLUE, getX1() - codec.getBoundsX1() + leftPixels, y, numPixels, 1, dest, 2 * numSamples + leftPixels);
2.67 break;
2.68 }*/
2.69 - case(TIFFImageFileDirectory.TYPE_RGB24_INTERLEAVED):
2.70 + case RGB24_INTERLEAVED:
2.71 {
2.72 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.73 offset += leftPixels * 3;
2.74 @@ -410,7 +410,7 @@
2.75 }
2.76 break;
2.77 }
2.78 - case(TIFFImageFileDirectory.TYPE_RGB48_INTERLEAVED):
2.79 + case RGB48_INTERLEAVED:
2.80 {
2.81 ShortChannelImage image = (ShortChannelImage)codec.getImage();
2.82 offset += leftPixels * 3;
2.83 @@ -435,7 +435,7 @@
2.84 }
2.85 break;
2.86 }
2.87 - case(TIFFImageFileDirectory.TYPE_LOGLUV32_INTERLEAVED):
2.88 + case LOGLUV32_INTERLEAVED:
2.89 {
2.90 if (getImageFileDirectory().getCompression() == TIFFConstants.COMPRESSION_SGI_LOG_RLE)
2.91 {
2.92 @@ -464,7 +464,7 @@
2.93 }
2.94 break;
2.95 }
2.96 - case(TIFFImageFileDirectory.TYPE_LOGL):
2.97 + case LOGL:
2.98 {
2.99 ByteChannelImage image = (ByteChannelImage)codec.getImage();
2.100 int numSamples = ifd.getTileWidth();
3.1 --- a/net/sourceforge/jiu/codecs/tiff/TIFFImageFileDirectory.java Fri Aug 07 23:30:59 2009 +0200
3.2 +++ b/net/sourceforge/jiu/codecs/tiff/TIFFImageFileDirectory.java Sat Aug 08 21:26:33 2009 +0200
3.3 @@ -26,20 +26,6 @@
3.4 */
3.5 public class TIFFImageFileDirectory implements TIFFConstants
3.6 {
3.7 - public static final int TYPE_BILEVEL_PACKED = 0;
3.8 - public static final int TYPE_GRAY4 = 1;
3.9 - public static final int TYPE_GRAY8 = 2;
3.10 - public static final int TYPE_GRAY16 = 3;
3.11 - public static final int TYPE_PALETTED4 = 4;
3.12 - public static final int TYPE_PALETTED8 = 5;
3.13 - public static final int TYPE_RGB24_INTERLEAVED = 6;
3.14 - public static final int TYPE_RGB48_INTERLEAVED = 7;
3.15 - public static final int TYPE_BILEVEL_BYTE = 8;
3.16 - public static final int TYPE_CMYK32_INTERLEAVED = 9;
3.17 - public static final int TYPE_CMYK32_PLANAR = 10;
3.18 - public static final int TYPE_LOGLUV32_INTERLEAVED = 11;
3.19 - public static final int TYPE_LOGL = 12;
3.20 -
3.21 private String artist;
3.22 private int[] bitsPerSample;
3.23 private int bitsPerPixel;
3.24 @@ -58,7 +44,7 @@
3.25 private int horizontalTiles;
3.26 private String hostComputer;
3.27 private String imageDescription;
3.28 - private int imageType;
3.29 + private TIFFImageType imageType;
3.30 private boolean invertGraySamples;
3.31 private String make;
3.32 private String model;
3.33 @@ -142,18 +128,18 @@
3.34 {
3.35 if (bitsPerSample[0] == 1)
3.36 {
3.37 - imageType = TYPE_BILEVEL_PACKED;
3.38 + imageType = TIFFImageType.BILEVEL_PACKED;
3.39 }
3.40 else
3.41 {
3.42 if (bitsPerSample[0] == 4)
3.43 {
3.44 - imageType = TYPE_GRAY4;
3.45 + imageType = TIFFImageType.GRAY4;
3.46 }
3.47 else
3.48 if (bitsPerSample[0] == 8)
3.49 {
3.50 - imageType = TYPE_GRAY8;
3.51 + imageType = TIFFImageType.GRAY8;
3.52 }
3.53 else
3.54 {
3.55 @@ -182,12 +168,12 @@
3.56 }
3.57 if (bitsPerPixel == 24)
3.58 {
3.59 - imageType = TYPE_RGB24_INTERLEAVED;
3.60 + imageType = TIFFImageType.RGB24_INTERLEAVED;
3.61 }
3.62 else
3.63 if (bitsPerPixel == 48)
3.64 {
3.65 - imageType = TYPE_RGB48_INTERLEAVED;
3.66 + imageType = TIFFImageType.RGB48_INTERLEAVED;
3.67 }
3.68 else
3.69 {
3.70 @@ -199,7 +185,7 @@
3.71 {
3.72 if (planarConfiguration == PLANAR_CONFIGURATION_CHUNKY)
3.73 {
3.74 - imageType = TYPE_LOGLUV32_INTERLEAVED;
3.75 + imageType = TIFFImageType.LOGLUV32_INTERLEAVED;
3.76 }
3.77 else
3.78 {
3.79 @@ -209,14 +195,14 @@
3.80 }
3.81 case(PHOTOMETRIC_LOGL):
3.82 {
3.83 - imageType = TYPE_LOGL;
3.84 + imageType = TIFFImageType.LOGL;
3.85 break;
3.86 }
3.87 case(PHOTOMETRIC_TRUECOLOR_CMYK):
3.88 {
3.89 if (planarConfiguration == PLANAR_CONFIGURATION_CHUNKY)
3.90 {
3.91 - imageType = TYPE_CMYK32_INTERLEAVED;
3.92 + imageType = TIFFImageType.CMYK32_INTERLEAVED;
3.93 }
3.94 /*else
3.95 if (planarConfiguration == PLANAR_CONFIGURATION_PLANAR)
3.96 @@ -241,7 +227,7 @@
3.97 throw new UnsupportedTypeException("Number of bits per pixel must be 1 for " +
3.98 "compression type: " + getCompressionName(compression) + ".");
3.99 }
3.100 - imageType = TYPE_BILEVEL_BYTE;
3.101 + imageType = TIFFImageType.BILEVEL_BYTE;
3.102 }
3.103 // TODO more validity checks
3.104 }
3.105 @@ -253,7 +239,7 @@
3.106 {
3.107 if (bitsPerPixel == 1)
3.108 {
3.109 - if (imageType == TYPE_BILEVEL_BYTE)
3.110 + if (imageType == TIFFImageType.BILEVEL_BYTE)
3.111 {
3.112 return numPixels;
3.113 }
3.114 @@ -449,7 +435,7 @@
3.115 return imageDescription;
3.116 }
3.117
3.118 - public int getImageType()
3.119 + public TIFFImageType getImageType()
3.120 {
3.121 return imageType;
3.122 }
3.123 @@ -1036,12 +1022,12 @@
3.124 {
3.125 if (bitsPerPixel == 4)
3.126 {
3.127 - imageType = TYPE_PALETTED4;
3.128 + imageType = TIFFImageType.PALETTED4;
3.129 }
3.130 else
3.131 if (bitsPerPixel == 8)
3.132 {
3.133 - imageType = TYPE_PALETTED8;
3.134 + imageType = TIFFImageType.PALETTED8;
3.135 }
3.136 else
3.137 {
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/net/sourceforge/jiu/codecs/tiff/TIFFImageType.java Sat Aug 08 21:26:33 2009 +0200
4.3 @@ -0,0 +1,44 @@
4.4 +/*
4.5 + * Copyright (C) 2007, 2008, 2009 Knut Arild Erstad
4.6 + *
4.7 + * This file is part of JIU, the Java Imaging Utilities.
4.8 + *
4.9 + * JIU is free software; you can redistribute it and/or modify
4.10 + * it under the terms of the GNU General Public License version 2,
4.11 + * as published by the Free Software Foundation.
4.12 + *
4.13 + * Contributions by Knut Arild Erstad can be redistributed and/or
4.14 + * modified under GPL 2 or any later versions.
4.15 + *
4.16 + * JIU is distributed in the hope that it will be useful,
4.17 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
4.18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4.19 + * GNU General Public License for more details.
4.20 + *
4.21 + * You should have received a copy of the GNU General Public License
4.22 + * along with this program. If not, see <http://www.gnu.org/licenses/>.
4.23 + */
4.24 +package net.sourceforge.jiu.codecs.tiff;
4.25 +
4.26 +/**
4.27 + * Enumerates the supported TIFF image types.
4.28 + *
4.29 + * @author Marco Schmidt
4.30 + * @author Knut Arild Erstad
4.31 + */
4.32 +public enum TIFFImageType
4.33 +{
4.34 + BILEVEL_PACKED,
4.35 + GRAY4,
4.36 + GRAY8,
4.37 + GRAY16,
4.38 + PALETTED4,
4.39 + PALETTED8,
4.40 + RGB24_INTERLEAVED,
4.41 + RGB48_INTERLEAVED,
4.42 + BILEVEL_BYTE,
4.43 + CMYK32_INTERLEAVED,
4.44 + CMYK32_PLANAR,
4.45 + LOGLUV32_INTERLEAVED,
4.46 + LOGL;
4.47 +}