SourceForge: jiu/jiu: changeset 48:abe6a803a32c
Replaced TYPE constants in TIFFImageFileDirectory with an enum (TIFFImageType). java-1.5
authorKnut Arild Erstad <knutae@gmail.com>
Sat Aug 08 21:26:33 2009 +0200 (3 months ago)
branchjava-1.5
changeset 48abe6a803a32c
parent 47baf5bbe6df53
child 495ea3208526f8
Replaced TYPE constants in TIFFImageFileDirectory with an enum (TIFFImageType).
net/sourceforge/jiu/codecs/tiff/TIFFCodec.java
net/sourceforge/jiu/codecs/tiff/TIFFDecoder.java
net/sourceforge/jiu/codecs/tiff/TIFFImageFileDirectory.java
net/sourceforge/jiu/codecs/tiff/TIFFImageType.java
     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 +}