You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2013/02/03 12:22:08 UTC
svn commit: r1441892 - in
/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging:
common/ common/itu_t4/ formats/gif/ formats/ico/ formats/jpeg/iptc/
formats/png/ formats/png/scanlinefilters/ formats/psd/
formats/psd/datareaders/ format...
Author: damjan
Date: Sun Feb 3 11:22:08 2013
New Revision: 1441892
URL: http://svn.apache.org/viewvc?rev=1441892&view=rev
Log:
Make Eclipse happier.
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BasicCParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/ScanExpediterInterlaced.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/UncompressedDataReader.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/MedianCutMostPopulatedBoxesImplementation.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BasicCParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BasicCParser.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BasicCParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BasicCParser.java Sun Feb 3 11:22:08 2013
@@ -155,9 +155,6 @@ public class BasicCParser {
}
out.write('\'');
} else if (c == '\r' || c == '\n') {
- byte[] bb = out.toByteArray();
- System.err.println(new String(bb));
- System.err.println();
throw new ImageReadException("Unterminated single quote in file");
} else {
if (hadBackSlash) {
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java Sun Feb 3 11:22:08 2013
@@ -146,25 +146,32 @@ public class T4AndT6Compression {
final int width, final int height) throws ImageReadException {
final BitInputStreamFlexible inputStream = new BitInputStreamFlexible(
new ByteArrayInputStream(compressed));
- final BitArrayOutputStream outputStream = new BitArrayOutputStream();
- for (int y = 0; y < height; y++) {
- int color = WHITE;
- int rowLength;
- for (rowLength = 0; rowLength < width;) {
- final int runLength = readTotalRunLength(inputStream, color);
- for (int i = 0; i < runLength; i++) {
- outputStream.writeBit(color);
+ BitArrayOutputStream outputStream = null;
+ try {
+ outputStream = new BitArrayOutputStream();
+ for (int y = 0; y < height; y++) {
+ int color = WHITE;
+ int rowLength;
+ for (rowLength = 0; rowLength < width;) {
+ final int runLength = readTotalRunLength(inputStream, color);
+ for (int i = 0; i < runLength; i++) {
+ outputStream.writeBit(color);
+ }
+ color = 1 - color;
+ rowLength += runLength;
+ }
+
+ if (rowLength == width) {
+ inputStream.flushCache();
+ outputStream.flush();
+ } else if (rowLength > width) {
+ throw new ImageReadException(
+ "Unrecoverable row length error in image row " + y);
}
- color = 1 - color;
- rowLength += runLength;
}
-
- if (rowLength == width) {
- inputStream.flushCache();
- outputStream.flush();
- } else if (rowLength > width) {
- throw new ImageReadException(
- "Unrecoverable row length error in image row " + y);
+ } finally {
+ if (outputStream != null) {
+ outputStream.close();
}
}
return outputStream.toByteArray();
@@ -213,34 +220,41 @@ public class T4AndT6Compression {
final int height, final boolean hasFill) throws ImageReadException {
final BitInputStreamFlexible inputStream = new BitInputStreamFlexible(
new ByteArrayInputStream(compressed));
- final BitArrayOutputStream outputStream = new BitArrayOutputStream();
- for (int y = 0; y < height; y++) {
- T4_T6_Tables.Entry entry;
- int rowLength;
- try {
- entry = (T4_T6_Tables.Entry) controlCodes.decode(inputStream);
- if (!isEOL(entry, hasFill)) {
- throw new ImageReadException("Expected EOL not found");
- }
- int color = WHITE;
- for (rowLength = 0; rowLength < width;) {
- final int runLength = readTotalRunLength(inputStream, color);
- for (int i = 0; i < runLength; i++) {
- outputStream.writeBit(color);
+ BitArrayOutputStream outputStream = null;
+ try {
+ outputStream = new BitArrayOutputStream();
+ for (int y = 0; y < height; y++) {
+ T4_T6_Tables.Entry entry;
+ int rowLength;
+ try {
+ entry = (T4_T6_Tables.Entry) controlCodes.decode(inputStream);
+ if (!isEOL(entry, hasFill)) {
+ throw new ImageReadException("Expected EOL not found");
}
- color = 1 - color;
- rowLength += runLength;
+ int color = WHITE;
+ for (rowLength = 0; rowLength < width;) {
+ final int runLength = readTotalRunLength(inputStream, color);
+ for (int i = 0; i < runLength; i++) {
+ outputStream.writeBit(color);
+ }
+ color = 1 - color;
+ rowLength += runLength;
+ }
+ } catch (final HuffmanTreeException huffmanException) {
+ throw new ImageReadException("Decompression error",
+ huffmanException);
+ }
+
+ if (rowLength == width) {
+ outputStream.flush();
+ } else if (rowLength > width) {
+ throw new ImageReadException(
+ "Unrecoverable row length error in image row " + y);
}
- } catch (final HuffmanTreeException huffmanException) {
- throw new ImageReadException("Decompression error",
- huffmanException);
}
-
- if (rowLength == width) {
- outputStream.flush();
- } else if (rowLength > width) {
- throw new ImageReadException(
- "Unrecoverable row length error in image row " + y);
+ } finally {
+ if (outputStream != null) {
+ outputStream.close();
}
}
return outputStream.toByteArray();
@@ -487,86 +501,96 @@ public class T4AndT6Compression {
public static byte[] compressT6(final byte[] uncompressed, final int width, final int height)
throws ImageWriteException {
- final BitInputStreamFlexible inputStream = new BitInputStreamFlexible(
- new ByteArrayInputStream(uncompressed));
- final BitArrayOutputStream outputStream = new BitArrayOutputStream();
- int[] referenceLine = new int[width];
- int[] codingLine = new int[width];
- for (int y = 0; y < height; y++) {
- for (int i = 0; i < width; i++) {
- try {
- codingLine[i] = inputStream.readBits(1);
- } catch (final IOException ioException) {
- throw new ImageWriteException(
- "Error reading image to compress", ioException);
- }
- }
- int codingA0Color = WHITE;
- int referenceA0Color = WHITE;
- int a1 = nextChangingElement(codingLine, codingA0Color, 0);
- int b1 = nextChangingElement(referenceLine, referenceA0Color, 0);
- int b2 = nextChangingElement(referenceLine, 1 - referenceA0Color,
- b1 + 1);
- for (int a0 = 0; a0 < width;) {
- if (b2 < a1) {
- T4_T6_Tables.P.writeBits(outputStream);
- a0 = b2;
- } else {
- final int a1b1 = a1 - b1;
- if (-3 <= a1b1 && a1b1 <= 3) {
- T4_T6_Tables.Entry entry;
- if (a1b1 == -3) {
- entry = T4_T6_Tables.VL3;
- } else if (a1b1 == -2) {
- entry = T4_T6_Tables.VL2;
- } else if (a1b1 == -1) {
- entry = T4_T6_Tables.VL1;
- } else if (a1b1 == 0) {
- entry = T4_T6_Tables.V0;
- } else if (a1b1 == 1) {
- entry = T4_T6_Tables.VR1;
- } else if (a1b1 == 2) {
- entry = T4_T6_Tables.VR2;
+ BitInputStreamFlexible inputStream = null;
+ try {
+ inputStream = new BitInputStreamFlexible(
+ new ByteArrayInputStream(uncompressed));
+ final BitArrayOutputStream outputStream = new BitArrayOutputStream();
+ int[] referenceLine = new int[width];
+ int[] codingLine = new int[width];
+ for (int y = 0; y < height; y++) {
+ for (int i = 0; i < width; i++) {
+ try {
+ codingLine[i] = inputStream.readBits(1);
+ } catch (final IOException ioException) {
+ throw new ImageWriteException(
+ "Error reading image to compress", ioException);
+ }
+ }
+ int codingA0Color = WHITE;
+ int referenceA0Color = WHITE;
+ int a1 = nextChangingElement(codingLine, codingA0Color, 0);
+ int b1 = nextChangingElement(referenceLine, referenceA0Color, 0);
+ int b2 = nextChangingElement(referenceLine, 1 - referenceA0Color,
+ b1 + 1);
+ for (int a0 = 0; a0 < width;) {
+ if (b2 < a1) {
+ T4_T6_Tables.P.writeBits(outputStream);
+ a0 = b2;
+ } else {
+ final int a1b1 = a1 - b1;
+ if (-3 <= a1b1 && a1b1 <= 3) {
+ T4_T6_Tables.Entry entry;
+ if (a1b1 == -3) {
+ entry = T4_T6_Tables.VL3;
+ } else if (a1b1 == -2) {
+ entry = T4_T6_Tables.VL2;
+ } else if (a1b1 == -1) {
+ entry = T4_T6_Tables.VL1;
+ } else if (a1b1 == 0) {
+ entry = T4_T6_Tables.V0;
+ } else if (a1b1 == 1) {
+ entry = T4_T6_Tables.VR1;
+ } else if (a1b1 == 2) {
+ entry = T4_T6_Tables.VR2;
+ } else {
+ entry = T4_T6_Tables.VR3;
+ }
+ entry.writeBits(outputStream);
+ codingA0Color = 1 - codingA0Color;
+ a0 = a1;
} else {
- entry = T4_T6_Tables.VR3;
+ final int a2 = nextChangingElement(codingLine,
+ 1 - codingA0Color, a1 + 1);
+ final int a0a1 = a1 - a0;
+ final int a1a2 = a2 - a1;
+ T4_T6_Tables.H.writeBits(outputStream);
+ writeRunLength(outputStream, a0a1, codingA0Color);
+ writeRunLength(outputStream, a1a2, 1 - codingA0Color);
+ a0 = a2;
}
- entry.writeBits(outputStream);
- codingA0Color = 1 - codingA0Color;
- a0 = a1;
+ }
+ referenceA0Color = changingElementAt(referenceLine, a0);
+ a1 = nextChangingElement(codingLine, codingA0Color, a0 + 1);
+ if (codingA0Color == referenceA0Color) {
+ b1 = nextChangingElement(referenceLine, referenceA0Color,
+ a0 + 1);
} else {
- final int a2 = nextChangingElement(codingLine,
- 1 - codingA0Color, a1 + 1);
- final int a0a1 = a1 - a0;
- final int a1a2 = a2 - a1;
- T4_T6_Tables.H.writeBits(outputStream);
- writeRunLength(outputStream, a0a1, codingA0Color);
- writeRunLength(outputStream, a1a2, 1 - codingA0Color);
- a0 = a2;
+ b1 = nextChangingElement(referenceLine, referenceA0Color,
+ a0 + 1);
+ b1 = nextChangingElement(referenceLine,
+ 1 - referenceA0Color, b1 + 1);
}
+ b2 = nextChangingElement(referenceLine, 1 - codingA0Color,
+ b1 + 1);
}
- referenceA0Color = changingElementAt(referenceLine, a0);
- a1 = nextChangingElement(codingLine, codingA0Color, a0 + 1);
- if (codingA0Color == referenceA0Color) {
- b1 = nextChangingElement(referenceLine, referenceA0Color,
- a0 + 1);
- } else {
- b1 = nextChangingElement(referenceLine, referenceA0Color,
- a0 + 1);
- b1 = nextChangingElement(referenceLine,
- 1 - referenceA0Color, b1 + 1);
+ final int[] swap = referenceLine;
+ referenceLine = codingLine;
+ codingLine = swap;
+ inputStream.flushCache();
+ }
+ // EOFB
+ T4_T6_Tables.EOL.writeBits(outputStream);
+ T4_T6_Tables.EOL.writeBits(outputStream);
+ return outputStream.toByteArray();
+ } finally {
+ try {
+ if (inputStream != null) {
+ inputStream.close();
}
- b2 = nextChangingElement(referenceLine, 1 - codingA0Color,
- b1 + 1);
+ } catch (IOException ignore) {
}
- final int[] swap = referenceLine;
- referenceLine = codingLine;
- codingLine = swap;
- inputStream.flushCache();
}
- // EOFB
- T4_T6_Tables.EOL.writeBits(outputStream);
- T4_T6_Tables.EOL.writeBits(outputStream);
- return outputStream.toByteArray();
}
/**
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java Sun Feb 3 11:22:08 2013
@@ -973,7 +973,7 @@ public class GifImageParser extends Imag
}
{ // get Image Data.
- int image_data_total = 0;
+// int image_data_total = 0;
int LZWMinimumCodeSize = colorTableScaleLessOne + 1;
// LZWMinimumCodeSize = Math.max(8, LZWMinimumCodeSize);
@@ -1017,7 +1017,7 @@ public class GifImageParser extends Imag
final byte compressed[] = compressor.compress(imagedata);
writeAsSubBlocks(bos, compressed);
- image_data_total += compressed.length;
+// image_data_total += compressed.length;
}
// palette2.dump();
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java Sun Feb 3 11:22:08 2013
@@ -436,32 +436,39 @@ public class IcoImageParser extends Imag
final int bitmapSize = 14 + 56 + RestOfFile.length;
final ByteArrayOutputStream baos = new ByteArrayOutputStream(bitmapSize);
- final BinaryOutputStream bos = new BinaryOutputStream(baos,
- ByteOrder.LITTLE_ENDIAN);
-
- bos.write('B');
- bos.write('M');
- bos.write4Bytes(bitmapSize);
- bos.write4Bytes(0);
- bos.write4Bytes(bitmapPixelsOffset);
-
- bos.write4Bytes(56);
- bos.write4Bytes(Width);
- bos.write4Bytes(Height / 2);
- bos.write2Bytes(Planes);
- bos.write2Bytes(BitCount);
- bos.write4Bytes(Compression);
- bos.write4Bytes(SizeImage);
- bos.write4Bytes(XPelsPerMeter);
- bos.write4Bytes(YPelsPerMeter);
- bos.write4Bytes(ColorsUsed);
- bos.write4Bytes(ColorsImportant);
- bos.write4Bytes(RedMask);
- bos.write4Bytes(GreenMask);
- bos.write4Bytes(BlueMask);
- bos.write4Bytes(AlphaMask);
- bos.write(RestOfFile);
- bos.flush();
+ BinaryOutputStream bos = null;
+ try {
+ bos = new BinaryOutputStream(baos,
+ ByteOrder.LITTLE_ENDIAN);
+
+ bos.write('B');
+ bos.write('M');
+ bos.write4Bytes(bitmapSize);
+ bos.write4Bytes(0);
+ bos.write4Bytes(bitmapPixelsOffset);
+
+ bos.write4Bytes(56);
+ bos.write4Bytes(Width);
+ bos.write4Bytes(Height / 2);
+ bos.write2Bytes(Planes);
+ bos.write2Bytes(BitCount);
+ bos.write4Bytes(Compression);
+ bos.write4Bytes(SizeImage);
+ bos.write4Bytes(XPelsPerMeter);
+ bos.write4Bytes(YPelsPerMeter);
+ bos.write4Bytes(ColorsUsed);
+ bos.write4Bytes(ColorsImportant);
+ bos.write4Bytes(RedMask);
+ bos.write4Bytes(GreenMask);
+ bos.write4Bytes(BlueMask);
+ bos.write4Bytes(AlphaMask);
+ bos.write(RestOfFile);
+ bos.flush();
+ } finally {
+ if (bos != null) {
+ bos.close();
+ }
+ }
final ByteArrayInputStream bmpInputStream = new ByteArrayInputStream(
baos.toByteArray());
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java Sun Feb 3 11:22:08 2013
@@ -414,54 +414,61 @@ public class IptcParser extends BinaryFi
throws ImageWriteException, IOException {
byte blockData[];
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final BinaryOutputStream bos = new BinaryOutputStream(baos,
- getByteOrder());
-
- // first, right record version record
- bos.write(IPTC_RECORD_TAG_MARKER);
- bos.write(IPTC_APPLICATION_2_RECORD_NUMBER);
- bos.write(IptcTypes.RECORD_VERSION.type); // record version record
- // type.
- bos.write2Bytes(2); // record version record size
- bos.write2Bytes(2); // record version value
-
- // make a copy of the list.
- elements = new ArrayList<IptcRecord>(elements);
-
- // sort the list. Records must be in numerical order.
- final Comparator<IptcRecord> comparator = new Comparator<IptcRecord>() {
- public int compare(final IptcRecord e1, final IptcRecord e2) {
- return e2.iptcType.getType() - e1.iptcType.getType();
- }
- };
- Collections.sort(elements, comparator);
- // TODO: make sure order right
-
- // write the list.
- for (int i = 0; i < elements.size(); i++) {
- final IptcRecord element = elements.get(i);
-
- if (element.iptcType == IptcTypes.RECORD_VERSION) {
- continue; // ignore
- }
-
+ BinaryOutputStream bos = null;
+ try {
+ bos = new BinaryOutputStream(baos,
+ getByteOrder());
+
+ // first, right record version record
bos.write(IPTC_RECORD_TAG_MARKER);
bos.write(IPTC_APPLICATION_2_RECORD_NUMBER);
- if (element.iptcType.getType() < 0
- || element.iptcType.getType() > 0xff) {
- throw new ImageWriteException("Invalid record type: "
- + element.iptcType.getType());
+ bos.write(IptcTypes.RECORD_VERSION.type); // record version record
+ // type.
+ bos.write2Bytes(2); // record version record size
+ bos.write2Bytes(2); // record version value
+
+ // make a copy of the list.
+ elements = new ArrayList<IptcRecord>(elements);
+
+ // sort the list. Records must be in numerical order.
+ final Comparator<IptcRecord> comparator = new Comparator<IptcRecord>() {
+ public int compare(final IptcRecord e1, final IptcRecord e2) {
+ return e2.iptcType.getType() - e1.iptcType.getType();
+ }
+ };
+ Collections.sort(elements, comparator);
+ // TODO: make sure order right
+
+ // write the list.
+ for (int i = 0; i < elements.size(); i++) {
+ final IptcRecord element = elements.get(i);
+
+ if (element.iptcType == IptcTypes.RECORD_VERSION) {
+ continue; // ignore
+ }
+
+ bos.write(IPTC_RECORD_TAG_MARKER);
+ bos.write(IPTC_APPLICATION_2_RECORD_NUMBER);
+ if (element.iptcType.getType() < 0
+ || element.iptcType.getType() > 0xff) {
+ throw new ImageWriteException("Invalid record type: "
+ + element.iptcType.getType());
+ }
+ bos.write(element.iptcType.getType());
+
+ final byte recordData[] = element.value.getBytes("ISO-8859-1");
+ if (!new String(recordData, "ISO-8859-1").equals(element.value)) {
+ throw new ImageWriteException(
+ "Invalid record value, not ISO-8859-1");
+ }
+
+ bos.write2Bytes(recordData.length);
+ bos.write(recordData);
}
- bos.write(element.iptcType.getType());
-
- final byte recordData[] = element.value.getBytes("ISO-8859-1");
- if (!new String(recordData, "ISO-8859-1").equals(element.value)) {
- throw new ImageWriteException(
- "Invalid record value, not ISO-8859-1");
+ } finally {
+ if (bos != null) {
+ bos.close();
}
-
- bos.write2Bytes(recordData.length);
- bos.write(recordData);
}
blockData = baos.toByteArray();
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/ScanExpediterInterlaced.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/ScanExpediterInterlaced.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/ScanExpediterInterlaced.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/ScanExpediterInterlaced.java Sun Feb 3 11:22:08 2013
@@ -56,8 +56,8 @@ public class ScanExpediterInterlaced ext
private static final int Starting_Col[] = { 0, 4, 0, 2, 0, 1, 0 };
private static final int Row_Increment[] = { 8, 8, 8, 4, 4, 2, 2 };
private static final int Col_Increment[] = { 8, 8, 4, 4, 2, 2, 1 };
- private static final int Block_Height[] = { 8, 8, 4, 4, 2, 2, 1 };
- private static final int Block_Width[] = { 8, 4, 4, 2, 2, 1, 1 };
+// private static final int Block_Height[] = { 8, 8, 4, 4, 2, 2, 1 };
+// private static final int Block_Width[] = { 8, 4, 4, 2, 2, 1, 1 };
@Override
public void drive() throws ImageReadException, IOException {
@@ -68,7 +68,7 @@ public class ScanExpediterInterlaced ext
int y = Starting_Row[pass - 1];
// int y_stride = Row_Increment[pass - 1];
- final boolean rows_in_pass = (y < height);
+ //final boolean rows_in_pass = (y < height);
while (y < height) {
int x = Starting_Col[pass - 1];
int pixel_index_in_scanline = 0;
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.java Sun Feb 3 11:22:08 2013
@@ -21,10 +21,8 @@ import java.io.IOException;
import org.apache.commons.imaging.ImageReadException;
public class ScanlineFilterUp extends ScanlineFilter {
- private final int BytesPerPixel;
public ScanlineFilterUp(final int BytesPerPixel) {
- this.BytesPerPixel = BytesPerPixel;
}
@Override
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java Sun Feb 3 11:22:08 2013
@@ -206,7 +206,8 @@ public class PsdImageParser extends Imag
"Not a Valid PSD File");
available -= nameLength;
if (((nameLength + 1) % 2) != 0) {
- final int NameDiscard = readByte("NameDiscard", is,
+ //final int NameDiscard =
+ readByte("NameDiscard", is,
"Not a Valid PSD File");
available -= 1;
}
@@ -222,7 +223,8 @@ public class PsdImageParser extends Imag
available -= DataSize;
if ((DataSize % 2) != 0) {
- final int DataDiscard = readByte("DataDiscard", is,
+ //final int DataDiscard =
+ readByte("DataDiscard", is,
"Not a Valid PSD File");
available -= 1;
}
@@ -585,18 +587,18 @@ public class PsdImageParser extends Imag
return result;
}
- // TODO not used
- private ImageResourceBlock findImageResourceBlock(
- final List<ImageResourceBlock> blocks, final int ID) {
- for (int i = 0; i < blocks.size(); i++) {
- final ImageResourceBlock block = blocks.get(i);
-
- if (block.id == ID) {
- return block;
- }
- }
- return null;
- }
+// // TODO not used
+// private ImageResourceBlock findImageResourceBlock(
+// final List<ImageResourceBlock> blocks, final int ID) {
+// for (int i = 0; i < blocks.size(); i++) {
+// final ImageResourceBlock block = blocks.get(i);
+//
+// if (block.id == ID) {
+// return block;
+// }
+// }
+// return null;
+// }
@Override
public boolean dumpImageFile(final PrintWriter pw, final ByteSource byteSource)
@@ -803,18 +805,18 @@ public class PsdImageParser extends Imag
}
final List<ImageResourceBlock> xmpBlocks = new ArrayList<ImageResourceBlock>();
- if (false) {
- // TODO: for PSD 7 and later, verify "XMP" name.
- for (int i = 0; i < blocks.size(); i++) {
- final ImageResourceBlock block = blocks.get(i);
- if (!block.getName().equals(BLOCK_NAME_XMP)) {
- continue;
- }
- xmpBlocks.add(block);
- }
- } else {
+// if (false) {
+// // TODO: for PSD 7 and later, verify "XMP" name.
+// for (int i = 0; i < blocks.size(); i++) {
+// final ImageResourceBlock block = blocks.get(i);
+// if (!block.getName().equals(BLOCK_NAME_XMP)) {
+// continue;
+// }
+// xmpBlocks.add(block);
+// }
+// } else {
xmpBlocks.addAll(blocks);
- }
+// }
if (xmpBlocks.size() < 1) {
return null;
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.java Sun Feb 3 11:22:08 2013
@@ -73,16 +73,16 @@ public class CompressedDataReader extend
final InputStream bais = new ByteArrayInputStream(unpacked);
final MyBitInputStream mbis = new MyBitInputStream(bais,
ByteOrder.MOTOROLA);
- final BitsToByteInputStream bbis = new BitsToByteInputStream(mbis, 8); // we
- // want
- // all
- // samples
- // to
- // be
- // bytes
- final int scanline[] = bbis.readBitsArray(depth, width);
- data[channel][y] = scanline;
-
+ BitsToByteInputStream bbis = null;
+ try {
+ bbis = new BitsToByteInputStream(mbis, 8); // we want all samples to be bytes
+ final int scanline[] = bbis.readBitsArray(depth, width);
+ data[channel][y] = scanline;
+ } finally {
+ if (bbis != null) {
+ bbis.close();
+ }
+ }
}
}
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/UncompressedDataReader.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/UncompressedDataReader.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/UncompressedDataReader.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/datareaders/UncompressedDataReader.java Sun Feb 3 11:22:08 2013
@@ -48,20 +48,26 @@ public class UncompressedDataReader exte
final int depth = header.Depth;
final MyBitInputStream mbis = new MyBitInputStream(is, ByteOrder.MOTOROLA);
// we want all samples to be bytes
- final BitsToByteInputStream bbis = new BitsToByteInputStream(mbis, 8);
+ BitsToByteInputStream bbis = null;
+ try {
+ bbis = new BitsToByteInputStream(mbis, 8);
- final int data[][][] = new int[channel_count][height][width];
- for (int channel = 0; channel < channel_count; channel++) {
- for (int y = 0; y < height; y++) {
- for (int x = 0; x < width; x++) {
- final int b = bbis.readBits(depth);
-
- data[channel][y][x] = (byte) b;
+ final int data[][][] = new int[channel_count][height][width];
+ for (int channel = 0; channel < channel_count; channel++) {
+ for (int y = 0; y < height; y++) {
+ for (int x = 0; x < width; x++) {
+ final int b = bbis.readBits(depth);
+
+ data[channel][y][x] = (byte) b;
+ }
}
}
+
+ dataParser.parseData(data, bi, imageContents);
+ } finally {
+ if (bbis != null) {
+ bbis.close();
+ }
}
-
- dataParser.parseData(data, bi, imageContents);
-
}
}
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java Sun Feb 3 11:22:08 2013
@@ -31,8 +31,6 @@ import java.util.Map;
import org.apache.commons.imaging.ImageReadException;
import org.apache.commons.imaging.common.ByteOrder;
import org.apache.commons.imaging.common.bytesource.ByteSource;
-import org.apache.commons.imaging.formats.tiff.constants.ExifTagConstants;
-import org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants;
import org.apache.commons.imaging.formats.tiff.constants.TiffConstants;
import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
@@ -504,19 +502,6 @@ public class TiffField implements TiffCo
pw.flush();
}
- // private void errorDump()
- // {
- // Debug.debug("tagInfo", tagInfo);
- // Debug.debug("fieldType", fieldType);
- // Debug.debug("tag", tag);
- // Debug.debug("type", type);
- // Debug.debug("length", length);
- // Debug.debug("valueOffset", valueOffset);
- // Debug.debug("valueOffsetBytes", valueOffsetBytes);
- // Debug.debug("oversizeValue", oversizeValue);
- // Debug.debug("byteOrder", byteOrder);
- // }
-
public String getDescriptionWithoutValue() {
return tag + " (0x" + Integer.toHexString(tag) + ": " + tagInfo.name
+ "): ";
@@ -578,58 +563,14 @@ public class TiffField implements TiffCo
map.put(tag.tag, tagList);
}
tagList.add(tag);
-
- // if (map.get(key) == null)
- // map.put(key, tag);
- // else if (!ignoreDuplicates)
- // {
- // System.out.println("Duplicate tag in " + name + ": " + tag.tag
- // + " (0x" + Integer.toHexString(tag.tag) + ")");
- // System.out.println("\t" + "New name: " + tag.name);
- // System.out.println("\t" + "Old name: "
- // + ((TagInfo) map.get(key)).name);
- // }
}
return map;
}
- private static final Map<Object, List<TagInfo>> GPS_TAG_MAP = makeTagMap(
- GpsTagConstants.ALL_GPS_TAGS, false, "GPS");
- private static final Map<Object, List<TagInfo>> TIFF_TAG_MAP = makeTagMap(
- TiffTagConstants.ALL_TIFF_TAGS, false, "TIFF");
- private static final Map<Object, List<TagInfo>> EXIF_TAG_MAP = makeTagMap(
- ExifTagConstants.ALL_EXIF_TAGS, true, "EXIF");
private static final Map<Object, List<TagInfo>> ALL_TAG_MAP = makeTagMap(
ALL_TAGS, true, "All");
- // static
- // {
- // Map map = new HashMap();
- //
- // for (int i = 0; i < ALL_TAGS.length; i++)
- // {
- // TagInfo2 tag = ALL_TAGS[i];
- // Object o = map.get("" + tag.tag);
- // if (o == null)
- // map.put("" + tag.tag, tag);
- // else
- // {
- // System.out.println("Duplicate tag: " + tag.tag);
- // System.out.println("\t" + "New name: " + tag.name);
- // System.out.println("\t" + "Old name: " + ((TagInfo2) o).name);
- // }
- // }
- //
- // }
-
- // public static final TagInfo2 ALL_TAGS[] = TagConstantsUtils
- // .mergeTagLists(new TagInfo2[][]{
- // ALL_EXIF_TAGS, ALL_TIFF_TAGS, ALL_GPS_TAGS,
- // });
- //
- //
-
public int[] getIntArrayValue() throws ImageReadException {
final Object o = getValue();
// if (o == null)
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java Sun Feb 3 11:22:08 2013
@@ -22,7 +22,6 @@ import org.apache.commons.imaging.ImageR
import org.apache.commons.imaging.common.ImageBuilder;
public class PhotometricInterpreterPalette extends PhotometricInterpreter {
- private final int[] fColorMap;
/**
* The color map of integer ARGB values tied to the pixel index of the
@@ -35,8 +34,6 @@ public class PhotometricInterpreterPalet
final int[] fColorMap) {
super(fSamplesPerPixel, fBitsPerSample, Predictor, width, height);
- this.fColorMap = fColorMap;
-
final int fBitsPerPixel = bitsPerSample[0];
final int colormap_scale = (1 << fBitsPerPixel);
indexColorMap = new int[colormap_scale];
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffImageWriterLossless.java Sun Feb 3 11:22:08 2013
@@ -28,7 +28,6 @@ import java.util.Map;
import org.apache.commons.imaging.FormatCompliance;
import org.apache.commons.imaging.ImageReadException;
import org.apache.commons.imaging.ImageWriteException;
-import org.apache.commons.imaging.common.BinaryFunctions;
import org.apache.commons.imaging.common.BinaryOutputStream;
import org.apache.commons.imaging.common.ByteOrder;
import org.apache.commons.imaging.common.bytesource.ByteSource;
@@ -41,7 +40,6 @@ import org.apache.commons.imaging.format
import org.apache.commons.imaging.formats.tiff.TiffField;
import org.apache.commons.imaging.formats.tiff.TiffImageData;
import org.apache.commons.imaging.formats.tiff.TiffReader;
-import org.apache.commons.imaging.util.Debug;
public class TiffImageWriterLossless extends TiffImageWriterBase {
private final byte exifBytes[];
@@ -55,39 +53,6 @@ public class TiffImageWriterLossless ext
this.exifBytes = exifBytes;
}
- private void dumpElements(final ByteSource byteSource, final List<TiffElement> elements)
- throws IOException {
- int last = TIFF_HEADER_SIZE;
- for (int i = 0; i < elements.size(); i++) {
- final TiffElement element = elements.get(i);
- if (element.offset > last) {
- final int SLICE_SIZE = 32;
- final int gepLength = element.offset - last;
- Debug.debug("gap of " + gepLength + " bytes.");
- final byte bytes[] = byteSource.getBlock(last, gepLength);
- if (bytes.length > 2 * SLICE_SIZE) {
- Debug.debug("\t" + "head",
- BinaryFunctions.head(bytes, SLICE_SIZE));
- Debug.debug("\t" + "tail",
- BinaryFunctions.tail(bytes, SLICE_SIZE));
- } else {
- Debug.debug("\t" + "bytes", bytes);
- }
- }
-
- Debug.debug("element[" + i + "]:" + element.getElementDescription()
- + " (" + element.offset + " + " + element.length + " = "
- + (element.offset + element.length) + ")");
- if (element instanceof TiffDirectory) {
- final TiffDirectory dir = (TiffDirectory) element;
- Debug.debug("\t" + "next Directory Offset: "
- + dir.nextDirectoryOffset);
- }
- last = element.offset + element.length;
- }
- Debug.debug();
- }
-
private List<TiffElement> analyzeOldTiff(Map<Integer,TiffOutputField> frozenFields) throws ImageWriteException,
IOException {
try {
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java Sun Feb 3 11:22:08 2013
@@ -29,19 +29,26 @@ public enum IccTagDataTypes implements I
public void dump(final String prefix, final byte bytes[])
throws ImageReadException, IOException
{
- final BinaryInputStream bis = new BinaryInputStream(
- new ByteArrayInputStream(bytes),
- ByteOrder.NETWORK);
- bis.read4Bytes("type_signature", "ICC: corrupt tag data");
-
- // bis.setDebug(true);
- bis.read4Bytes("ignore", "ICC: corrupt tag data");
- final int string_length = bis.read4Bytes("string_length",
- "ICC: corrupt tag data");
-
- // bis.readByteArray("ignore", bytes.length -12, "none");
- final String s = new String(bytes, 12, string_length - 1, "US-ASCII");
- System.out.println(prefix + "s: '" + s + "'");
+ BinaryInputStream bis = null;
+ try {
+ bis = new BinaryInputStream(
+ new ByteArrayInputStream(bytes),
+ ByteOrder.NETWORK);
+ bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+
+ // bis.setDebug(true);
+ bis.read4Bytes("ignore", "ICC: corrupt tag data");
+ final int string_length = bis.read4Bytes("string_length",
+ "ICC: corrupt tag data");
+
+ // bis.readByteArray("ignore", bytes.length -12, "none");
+ final String s = new String(bytes, 12, string_length - 1, "US-ASCII");
+ System.out.println(prefix + "s: '" + s + "'");
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ }
}
},
@@ -51,10 +58,17 @@ public enum IccTagDataTypes implements I
public void dump(final String prefix, final byte bytes[])
throws ImageReadException, IOException
{
- final BinaryInputStream bis = new BinaryInputStream(
- new ByteArrayInputStream(bytes),
- ByteOrder.NETWORK);
- bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ BinaryInputStream bis = null;
+ try {
+ bis = new BinaryInputStream(
+ new ByteArrayInputStream(bytes),
+ ByteOrder.NETWORK);
+ bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ }
}
},
@@ -64,10 +78,17 @@ public enum IccTagDataTypes implements I
public void dump(final String prefix, final byte bytes[])
throws ImageReadException, IOException
{
- final BinaryInputStream bis = new BinaryInputStream(
- new ByteArrayInputStream(bytes),
- ByteOrder.NETWORK);
- bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ BinaryInputStream bis = null;
+ try {
+ bis = new BinaryInputStream(
+ new ByteArrayInputStream(bytes),
+ ByteOrder.NETWORK);
+ bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ }
}
},
@@ -77,23 +98,30 @@ public enum IccTagDataTypes implements I
public void dump(final String prefix, final byte bytes[])
throws ImageReadException, IOException
{
- final BinaryInputStream bis = new BinaryInputStream(
- new ByteArrayInputStream(bytes),
- ByteOrder.NETWORK);
- bis.read4Bytes("type_signature", "ICC: corrupt tag data");
- bis.read4Bytes("ignore", "ICC: corrupt tag data");
- final int thesignature = bis.read4Bytes("thesignature ",
- "ICC: corrupt tag data");
- System.out.println(prefix
- + "thesignature: "
- + Integer.toHexString(thesignature)
- + " ("
- + new String(new byte[]{
- (byte) (0xff & (thesignature >> 24)),
- (byte) (0xff & (thesignature >> 16)),
- (byte) (0xff & (thesignature >> 8)),
- (byte) (0xff & (thesignature >> 0)), }, "US-ASCII")
- + ")");
+ BinaryInputStream bis = null;
+ try {
+ bis = new BinaryInputStream(
+ new ByteArrayInputStream(bytes),
+ ByteOrder.NETWORK);
+ bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ bis.read4Bytes("ignore", "ICC: corrupt tag data");
+ final int thesignature = bis.read4Bytes("thesignature ",
+ "ICC: corrupt tag data");
+ System.out.println(prefix
+ + "thesignature: "
+ + Integer.toHexString(thesignature)
+ + " ("
+ + new String(new byte[]{
+ (byte) (0xff & (thesignature >> 24)),
+ (byte) (0xff & (thesignature >> 16)),
+ (byte) (0xff & (thesignature >> 8)),
+ (byte) (0xff & (thesignature >> 0)), }, "US-ASCII")
+ + ")");
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ }
}
},
@@ -103,13 +131,20 @@ public enum IccTagDataTypes implements I
public void dump(final String prefix, final byte bytes[])
throws ImageReadException, IOException
{
- final BinaryInputStream bis = new BinaryInputStream(
- new ByteArrayInputStream(bytes),
- ByteOrder.NETWORK);
- bis.read4Bytes("type_signature", "ICC: corrupt tag data");
- bis.read4Bytes("ignore", "ICC: corrupt tag data");
- final String s = new String(bytes, 8, bytes.length - 8, "US-ASCII");
- System.out.println(prefix + "s: '" + s + "'");
+ BinaryInputStream bis = null;
+ try {
+ bis = new BinaryInputStream(
+ new ByteArrayInputStream(bytes),
+ ByteOrder.NETWORK);
+ bis.read4Bytes("type_signature", "ICC: corrupt tag data");
+ bis.read4Bytes("ignore", "ICC: corrupt tag data");
+ final String s = new String(bytes, 8, bytes.length - 8, "US-ASCII");
+ System.out.println(prefix + "s: '" + s + "'");
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ }
}
};
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/MedianCutMostPopulatedBoxesImplementation.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/MedianCutMostPopulatedBoxesImplementation.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/MedianCutMostPopulatedBoxesImplementation.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/MedianCutMostPopulatedBoxesImplementation.java Sun Feb 3 11:22:08 2013
@@ -16,6 +16,7 @@
*/
package org.apache.commons.imaging.palette;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -134,7 +135,9 @@ public class MedianCutMostPopulatedBoxes
return true;
}
- private static class ColorComparer implements Comparator<ColorCount> {
+ private static class ColorComparer implements Comparator<ColorCount>, Serializable {
+ private static final long serialVersionUID = 1L;
+
private final ColorComponent colorComponent;
public ColorComparer(final ColorComponent colorComponent) {
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java?rev=1441892&r1=1441891&r2=1441892&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java Sun Feb 3 11:22:08 2013
@@ -279,15 +279,7 @@ public class PaletteFactory {
final int desired_count, final int table[], final int precision) {
final List<ColorSpaceSubset> ignore = new ArrayList<ColorSpaceSubset>();
- int count = 0;
while (true) {
- count++;
-
- if (debug) {
- System.out.println("cycle(" + count + "): " + v.size()
- + " done");
- }
-
int max_area = -1;
ColorSpaceSubset max_subset = null;