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/11/06 06:01:05 UTC
svn commit: r1539242 [1/2] - in
/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging:
formats/jpeg/ formats/jpeg/decoder/ formats/jpeg/exif/ formats/jpeg/iptc/
formats/jpeg/segments/ formats/jpeg/xmp/ formats/pcx/ formats/png/ formats...
Author: damjan
Date: Wed Nov 6 05:01:04 2013
New Revision: 1539242
URL: http://svn.apache.org/r1539242
Log:
Goodbye constant instances.
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegPhotoshopMetadata.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcConstants.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/jpeg/iptc/IptcTypeLookup.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/PhotoshopApp13Data.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/JfifSegment.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PamWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PbmWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PgmWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PnmConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pnm/PpmWriter.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tga/TgaConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccProfileInfo.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccProfileParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTag.java
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegConstants.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegConstants.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegConstants.java Wed Nov 6 05:01:04 2013
@@ -23,7 +23,7 @@ import java.util.List;
import org.apache.commons.imaging.common.BinaryConstant;
import org.apache.commons.imaging.common.BinaryFunctions;
-public interface JpegConstants {
+public class JpegConstants {
public static final int MAX_SEGMENT_SIZE = 0xffff;
public static final BinaryConstant JFIF0_SIGNATURE = new BinaryConstant(
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java Wed Nov 6 05:01:04 2013
@@ -58,7 +58,7 @@ import org.apache.commons.imaging.format
import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
import org.apache.commons.imaging.util.Debug;
-public class JpegImageParser extends ImageParser implements JpegConstants {
+public class JpegImageParser extends ImageParser {
public JpegImageParser() {
setByteOrder(ByteOrder.BIG_ENDIAN);
// setDebug(true);
@@ -117,11 +117,20 @@ public class JpegImageParser extends Ima
final JpegImageParser parser = this;
final int[] sofnSegments = {
// kJFIFMarker,
- SOF0Marker,
-
- SOF1Marker, SOF2Marker, SOF3Marker, SOF5Marker, SOF6Marker,
- SOF7Marker, SOF9Marker, SOF10Marker, SOF11Marker, SOF13Marker,
- SOF14Marker, SOF15Marker, };
+ JpegConstants.SOF0Marker,
+ JpegConstants.SOF1Marker,
+ JpegConstants.SOF2Marker,
+ JpegConstants.SOF3Marker,
+ JpegConstants.SOF5Marker,
+ JpegConstants.SOF6Marker,
+ JpegConstants.SOF7Marker,
+ JpegConstants.SOF9Marker,
+ JpegConstants.SOF10Marker,
+ JpegConstants.SOF11Marker,
+ JpegConstants.SOF13Marker,
+ JpegConstants.SOF14Marker,
+ JpegConstants.SOF15Marker,
+ };
final JpegUtils.Visitor visitor = new JpegUtils.Visitor() {
// return false to exit before reading image data.
@@ -137,7 +146,7 @@ public class JpegImageParser extends Ima
public boolean visitSegment(final int marker, final byte markerBytes[],
final int markerLength, final byte markerLengthBytes[],
final byte segmentData[]) throws ImageReadException, IOException {
- if (marker == EOIMarker) {
+ if (marker == JpegConstants.EOIMarker) {
return false;
}
@@ -151,23 +160,23 @@ public class JpegImageParser extends Ima
return true;
}
- if (marker == JPEG_APP13_Marker) {
+ if (marker == JpegConstants.JPEG_APP13_Marker) {
// Debug.debug("app 13 segment data", segmentData.length);
result.add(new App13Segment(parser, marker, segmentData));
- } else if (marker == JPEG_APP14_Marker) {
+ } else if (marker == JpegConstants.JPEG_APP14_Marker) {
result.add(new App14Segment(marker, segmentData));
- } else if (marker == JPEG_APP2_Marker) {
+ } else if (marker == JpegConstants.JPEG_APP2_Marker) {
result.add(new App2Segment(marker, segmentData));
- } else if (marker == JFIFMarker) {
+ } else if (marker == JpegConstants.JFIFMarker) {
result.add(new JfifSegment(marker, segmentData));
} else if (Arrays.binarySearch(sofnSegments, marker) >= 0) {
result.add(new SofnSegment(marker, segmentData));
- } else if (marker == DQTMarker) {
+ } else if (marker == JpegConstants.DQTMarker) {
result.add(new DqtSegment(marker, segmentData));
- } else if ((marker >= JPEG_APP1_Marker)
- && (marker <= JPEG_APP15_Marker)) {
+ } else if ((marker >= JpegConstants.JPEG_APP1_Marker)
+ && (marker <= JpegConstants.JPEG_APP15_Marker)) {
result.add(new UnknownSegment(marker, segmentData));
- } else if (marker == COMMarker) {
+ } else if (marker == JpegConstants.COMMarker) {
result.add(new ComSegment(marker, segmentData));
}
@@ -274,7 +283,7 @@ public class JpegImageParser extends Ima
public byte[] getICCProfileBytes(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
final List<Segment> segments = readSegments(byteSource,
- new int[] { JPEG_APP2_Marker, }, false);
+ new int[] { JpegConstants.JPEG_APP2_Marker, }, false);
final List<App2Segment> filtered = new ArrayList<App2Segment>();
if (segments != null) {
@@ -322,7 +331,7 @@ public class JpegImageParser extends Ima
}
public static boolean isExifAPP1Segment(final GenericSegment segment) {
- return startsWith(segment.getSegmentData(), EXIF_IDENTIFIER_CODE);
+ return startsWith(segment.getSegmentData(), JpegConstants.EXIF_IDENTIFIER_CODE);
}
private List<Segment> filterAPP1Segments(final List<Segment> v) {
@@ -359,7 +368,7 @@ public class JpegImageParser extends Ima
public byte[] getExifRawData(final ByteSource byteSource)
throws ImageReadException, IOException {
final List<Segment> segments = readSegments(byteSource,
- new int[] { JPEG_APP1_Marker, }, false);
+ new int[] { JpegConstants.JPEG_APP1_Marker, }, false);
if ((segments == null) || (segments.size() < 1)) {
return null;
@@ -416,8 +425,8 @@ public class JpegImageParser extends Ima
return false;
}
- if (marker == JPEG_APP1_Marker) {
- if (startsWith(segmentData, EXIF_IDENTIFIER_CODE)) {
+ if (marker == JpegConstants.JPEG_APP1_Marker) {
+ if (startsWith(segmentData, JpegConstants.EXIF_IDENTIFIER_CODE)) {
result[0] = true;
return false;
}
@@ -454,7 +463,7 @@ public class JpegImageParser extends Ima
return false;
}
- if (marker == JPEG_APP13_Marker) {
+ if (marker == JpegConstants.JPEG_APP13_Marker) {
if (new IptcParser().isPhotoshopJpegSegment(segmentData)) {
result[0] = true;
return false;
@@ -492,7 +501,7 @@ public class JpegImageParser extends Ima
return false;
}
- if (marker == JPEG_APP1_Marker) {
+ if (marker == JpegConstants.JPEG_APP1_Marker) {
if (new JpegXmpParser().isXmpJpegSegment(segmentData)) {
result[0] = true;
return false;
@@ -541,7 +550,7 @@ public class JpegImageParser extends Ima
return false;
}
- if (marker == JPEG_APP1_Marker) {
+ if (marker == JpegConstants.JPEG_APP1_Marker) {
if (new JpegXmpParser().isXmpJpegSegment(segmentData)) {
result.add(new JpegXmpParser()
.parseXmpJpegSegment(segmentData));
@@ -567,7 +576,7 @@ public class JpegImageParser extends Ima
public JpegPhotoshopMetadata getPhotoshopMetadata(final ByteSource byteSource,
final Map<String,Object> params) throws ImageReadException, IOException {
final List<Segment> segments = readSegments(byteSource,
- new int[] { JPEG_APP13_Marker, }, false);
+ new int[] { JpegConstants.JPEG_APP13_Marker, }, false);
if ((segments == null) || (segments.size() < 1)) {
return null;
@@ -598,11 +607,19 @@ public class JpegImageParser extends Ima
throws ImageReadException, IOException {
final List<Segment> segments = readSegments(byteSource, new int[] {
// kJFIFMarker,
- SOF0Marker,
-
- SOF1Marker, SOF2Marker, SOF3Marker, SOF5Marker, SOF6Marker,
- SOF7Marker, SOF9Marker, SOF10Marker, SOF11Marker, SOF13Marker,
- SOF14Marker, SOF15Marker,
+ JpegConstants.SOF0Marker,
+ JpegConstants.SOF1Marker,
+ JpegConstants.SOF2Marker,
+ JpegConstants.SOF3Marker,
+ JpegConstants.SOF5Marker,
+ JpegConstants.SOF6Marker,
+ JpegConstants.SOF7Marker,
+ JpegConstants.SOF9Marker,
+ JpegConstants.SOF10Marker,
+ JpegConstants.SOF11Marker,
+ JpegConstants.SOF13Marker,
+ JpegConstants.SOF14Marker,
+ JpegConstants.SOF15Marker,
}, true);
@@ -636,9 +653,19 @@ public class JpegImageParser extends Ima
final List<Segment> SOF_segments = readSegments(byteSource, new int[] {
// kJFIFMarker,
- SOF0Marker, SOF1Marker, SOF2Marker, SOF3Marker, SOF5Marker,
- SOF6Marker, SOF7Marker, SOF9Marker, SOF10Marker, SOF11Marker,
- SOF13Marker, SOF14Marker, SOF15Marker,
+ JpegConstants.SOF0Marker,
+ JpegConstants.SOF1Marker,
+ JpegConstants.SOF2Marker,
+ JpegConstants.SOF3Marker,
+ JpegConstants.SOF5Marker,
+ JpegConstants.SOF6Marker,
+ JpegConstants.SOF7Marker,
+ JpegConstants.SOF9Marker,
+ JpegConstants.SOF10Marker,
+ JpegConstants.SOF11Marker,
+ JpegConstants.SOF13Marker,
+ JpegConstants.SOF14Marker,
+ JpegConstants.SOF15Marker,
}, false);
@@ -651,7 +678,7 @@ public class JpegImageParser extends Ima
// + SOF_segments.size());
final List<Segment> jfifSegments = readSegments(byteSource,
- new int[] { JFIFMarker, }, true);
+ new int[] { JpegConstants.JFIFMarker, }, true);
final SofnSegment fSOFNSegment = (SofnSegment) SOF_segments.get(0);
// SofnSegment fSOFNSegment = (SofnSegment) findSegment(segments,
@@ -670,7 +697,7 @@ public class JpegImageParser extends Ima
jfifSegment = (JfifSegment) jfifSegments.get(0);
}
- final List<Segment> app14Segments = readSegments(byteSource, new int[] { JPEG_APP14_Marker }, true);
+ final List<Segment> app14Segments = readSegments(byteSource, new int[] { JpegConstants.JPEG_APP14_Marker }, true);
App14Segment app14Segment = null;
if (app14Segments != null && !app14Segments.isEmpty()) {
app14Segment = (App14Segment) app14Segments.get(0);
@@ -769,7 +796,7 @@ public class JpegImageParser extends Ima
final List<String> Comments = new ArrayList<String>();
final List<Segment> commentSegments = readSegments(byteSource,
- new int[] { COMMarker }, false);
+ new int[] { JpegConstants.COMMarker }, false);
for (int i = 0; i < commentSegments.size(); i++) {
final ComSegment comSegment = (ComSegment) commentSegments.get(i);
String comment = "";
@@ -790,7 +817,7 @@ public class JpegImageParser extends Ima
// we ought to count images, but don't yet.
final int NumberOfImages = 1;
// not accurate ... only reflects first
- final boolean isProgressive = fSOFNSegment.marker == SOF2Marker;
+ final boolean isProgressive = fSOFNSegment.marker == JpegConstants.SOF2Marker;
boolean isTransparent = false;
final boolean usesPalette = false; // TODO: inaccurate.
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegPhotoshopMetadata.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegPhotoshopMetadata.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegPhotoshopMetadata.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegPhotoshopMetadata.java Wed Nov 6 05:01:04 2013
@@ -20,14 +20,12 @@ import java.util.Collections;
import java.util.List;
import org.apache.commons.imaging.common.ImageMetadata;
-import org.apache.commons.imaging.formats.jpeg.iptc.IptcConstants;
import org.apache.commons.imaging.formats.jpeg.iptc.IptcRecord;
import org.apache.commons.imaging.formats.jpeg.iptc.IptcTypes;
import org.apache.commons.imaging.formats.jpeg.iptc.PhotoshopApp13Data;
import org.apache.commons.imaging.util.Debug;
-public class JpegPhotoshopMetadata extends ImageMetadata implements
- IptcConstants {
+public class JpegPhotoshopMetadata extends ImageMetadata {
public final PhotoshopApp13Data photoshopApp13Data;
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java Wed Nov 6 05:01:04 2013
@@ -26,7 +26,7 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.util.Debug;
import org.apache.commons.imaging.util.IoUtils;
-public class JpegUtils extends BinaryFileParser implements JpegConstants {
+public class JpegUtils extends BinaryFileParser {
public JpegUtils() {
setByteOrder(ByteOrder.NETWORK);
}
@@ -52,7 +52,7 @@ public class JpegUtils extends BinaryFil
try {
is = byteSource.getInputStream();
- readAndVerifyBytes(is, SOI,
+ readAndVerifyBytes(is, JpegConstants.SOI,
"Not a Valid JPEG File: doesn't begin with 0xffd8");
int markerCount;
@@ -67,7 +67,7 @@ public class JpegUtils extends BinaryFil
final int marker = ((0xff & markerBytes[0]) << 8)
| (0xff & markerBytes[1]);
- if (marker == EOIMarker || marker == SOS_Marker) {
+ if (marker == JpegConstants.EOIMarker || marker == JpegConstants.SOS_Marker) {
if (!visitor.beginSOS()) {
canThrow = true;
return;
@@ -102,57 +102,57 @@ public class JpegUtils extends BinaryFil
public static String getMarkerName(final int marker) {
switch (marker) {
- case SOS_Marker:
+ case JpegConstants.SOS_Marker:
return "SOS_Marker";
// case JPEG_APP0 :
// return "JPEG_APP0";
// case JPEG_APP0_Marker :
// return "JPEG_APP0_Marker";
- case JPEG_APP1_Marker:
+ case JpegConstants.JPEG_APP1_Marker:
return "JPEG_APP1_Marker";
- case JPEG_APP2_Marker:
+ case JpegConstants.JPEG_APP2_Marker:
return "JPEG_APP2_Marker";
- case JPEG_APP13_Marker:
+ case JpegConstants.JPEG_APP13_Marker:
return "JPEG_APP13_Marker";
- case JPEG_APP14_Marker:
+ case JpegConstants.JPEG_APP14_Marker:
return "JPEG_APP14_Marker";
- case JPEG_APP15_Marker:
+ case JpegConstants.JPEG_APP15_Marker:
return "JPEG_APP15_Marker";
- case JFIFMarker:
+ case JpegConstants.JFIFMarker:
return "JFIFMarker";
- case SOF0Marker:
+ case JpegConstants.SOF0Marker:
return "SOF0Marker";
- case SOF1Marker:
+ case JpegConstants.SOF1Marker:
return "SOF1Marker";
- case SOF2Marker:
+ case JpegConstants.SOF2Marker:
return "SOF2Marker";
- case SOF3Marker:
+ case JpegConstants.SOF3Marker:
return "SOF3Marker";
- case DHTMarker:
+ case JpegConstants.DHTMarker:
return "SOF4Marker";
- case SOF5Marker:
+ case JpegConstants.SOF5Marker:
return "SOF5Marker";
- case SOF6Marker:
+ case JpegConstants.SOF6Marker:
return "SOF6Marker";
- case SOF7Marker:
+ case JpegConstants.SOF7Marker:
return "SOF7Marker";
- case SOF8Marker:
+ case JpegConstants.SOF8Marker:
return "SOF8Marker";
- case SOF9Marker:
+ case JpegConstants.SOF9Marker:
return "SOF9Marker";
- case SOF10Marker:
+ case JpegConstants.SOF10Marker:
return "SOF10Marker";
- case SOF11Marker:
+ case JpegConstants.SOF11Marker:
return "SOF11Marker";
- case DACMarker:
+ case JpegConstants.DACMarker:
return "DACMarker";
- case SOF13Marker:
+ case JpegConstants.SOF13Marker:
return "SOF13Marker";
- case SOF14Marker:
+ case JpegConstants.SOF14Marker:
return "SOF14Marker";
- case SOF15Marker:
+ case JpegConstants.SOF15Marker:
return "SOF15Marker";
- case DQTMarker:
+ case JpegConstants.DQTMarker:
return "DQTMarker";
default:
return "Unknown";
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java Wed Nov 6 05:01:04 2013
@@ -37,8 +37,7 @@ import org.apache.commons.imaging.format
import org.apache.commons.imaging.formats.jpeg.segments.SofnSegment;
import org.apache.commons.imaging.formats.jpeg.segments.SosSegment;
-public class JpegDecoder extends BinaryFileParser implements JpegUtils.Visitor,
- JpegConstants {
+public class JpegDecoder extends BinaryFileParser implements JpegUtils.Visitor {
/*
* JPEG is an advanced image format that takes significant computation to
* decode. Keep decoding fast: - Don't allocate memory inside loops,
@@ -170,18 +169,29 @@ public class JpegDecoder extends BinaryF
public boolean visitSegment(final int marker, final byte[] markerBytes,
final int segmentLength, final byte[] segmentLengthBytes, final byte[] segmentData)
throws ImageReadException, IOException {
- final int[] sofnSegments = { SOF0Marker, SOF1Marker, SOF2Marker,
- SOF3Marker, SOF5Marker, SOF6Marker, SOF7Marker, SOF9Marker,
- SOF10Marker, SOF11Marker, SOF13Marker, SOF14Marker,
- SOF15Marker, };
+ final int[] sofnSegments = {
+ JpegConstants.SOF0Marker,
+ JpegConstants.SOF1Marker,
+ JpegConstants.SOF2Marker,
+ JpegConstants.SOF3Marker,
+ JpegConstants.SOF5Marker,
+ JpegConstants.SOF6Marker,
+ JpegConstants.SOF7Marker,
+ JpegConstants.SOF9Marker,
+ JpegConstants.SOF10Marker,
+ JpegConstants.SOF11Marker,
+ JpegConstants.SOF13Marker,
+ JpegConstants.SOF14Marker,
+ JpegConstants.SOF15Marker,
+ };
if (Arrays.binarySearch(sofnSegments, marker) >= 0) {
- if (marker != SOF0Marker) {
+ if (marker != JpegConstants.SOF0Marker) {
throw new ImageReadException("Only sequential, baseline JPEGs "
+ "are supported at the moment");
}
sofnSegment = new SofnSegment(marker, segmentData);
- } else if (marker == DQTMarker) {
+ } else if (marker == JpegConstants.DQTMarker) {
final DqtSegment dqtSegment = new DqtSegment(marker, segmentData);
for (int i = 0; i < dqtSegment.quantizationTables.size(); i++) {
final DqtSegment.QuantizationTable table = dqtSegment.quantizationTables
@@ -202,7 +212,7 @@ public class JpegDecoder extends BinaryF
Dct.scaleDequantizationMatrix(quantizationMatrixFloat);
scaledQuantizationTables[table.destinationIdentifier] = quantizationMatrixFloat;
}
- } else if (marker == DHTMarker) {
+ } else if (marker == JpegConstants.DHTMarker) {
final DhtSegment dhtSegment = new DhtSegment(marker, segmentData);
for (int i = 0; i < dhtSegment.huffmanTables.size(); i++) {
final DhtSegment.HuffmanTable table = dhtSegment.huffmanTables.get(i);
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java Wed Nov 6 05:01:04 2013
@@ -49,7 +49,7 @@ import org.apache.commons.imaging.util.I
* @see <a
* href="https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/WriteExifMetadataExample.java">org.apache.commons.imaging.examples.WriteExifMetadataExample</a>
*/
-public class ExifRewriter extends BinaryFileParser implements JpegConstants {
+public class ExifRewriter extends BinaryFileParser {
/**
* Constructor. to guess whether a file contains an image based on its file
* extension.
@@ -157,11 +157,11 @@ public class ExifRewriter extends Binary
final byte segmentData[]) throws
// ImageWriteException,
ImageReadException, IOException {
- if (marker != JPEG_APP1_Marker) {
+ if (marker != JpegConstants.JPEG_APP1_Marker) {
pieces.add(new JFIFPieceSegment(marker, markerBytes,
markerLengthBytes, segmentData));
} else if (!startsWith(segmentData,
- EXIF_IDENTIFIER_CODE)) {
+ JpegConstants.EXIF_IDENTIFIER_CODE)) {
pieces.add(new JFIFPieceSegment(marker, markerBytes,
markerLengthBytes, segmentData));
// } else if (exifSegmentArray[0] != null) {
@@ -499,7 +499,7 @@ public class ExifRewriter extends Binary
boolean canThrow = false;
try {
- SOI.writeTo(os);
+ JpegConstants.SOI.writeTo(os);
boolean hasExif = false;
@@ -511,7 +511,7 @@ public class ExifRewriter extends Binary
}
if (!hasExif && newBytes != null) {
- final byte markerBytes[] = toBytes((short)JPEG_APP1_Marker);
+ final byte markerBytes[] = toBytes((short)JpegConstants.JPEG_APP1_Marker);
if (newBytes.length > 0xffff) {
throw new ExifOverflowException(
"APP1 Segment is too long: " + newBytes.length);
@@ -522,10 +522,10 @@ public class ExifRewriter extends Binary
int index = 0;
final JFIFPieceSegment firstSegment = (JFIFPieceSegment) segments
.get(index);
- if (firstSegment.marker == JFIFMarker) {
+ if (firstSegment.marker == JpegConstants.JFIFMarker) {
index = 1;
}
- segments.add(0, new JFIFPieceSegmentExif(JPEG_APP1_Marker,
+ segments.add(0, new JFIFPieceSegmentExif(JpegConstants.JPEG_APP1_Marker,
markerBytes, markerLengthBytes, newBytes));
}
@@ -544,7 +544,7 @@ public class ExifRewriter extends Binary
continue;
}
- final byte markerBytes[] = toBytes((short)JPEG_APP1_Marker);
+ final byte markerBytes[] = toBytes((short)JpegConstants.JPEG_APP1_Marker);
if (newBytes.length > 0xffff) {
throw new ExifOverflowException(
"APP1 Segment is too long: " + newBytes.length);
@@ -579,7 +579,7 @@ public class ExifRewriter extends Binary
final ByteArrayOutputStream os = new ByteArrayOutputStream();
if (includeEXIFPrefix) {
- EXIF_IDENTIFIER_CODE.writeTo(os);
+ JpegConstants.EXIF_IDENTIFIER_CODE.writeTo(os);
os.write(0);
os.write(0);
}
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcConstants.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcConstants.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcConstants.java Wed Nov 6 05:01:04 2013
@@ -16,9 +16,8 @@
*/
package org.apache.commons.imaging.formats.jpeg.iptc;
-import org.apache.commons.imaging.formats.jpeg.JpegConstants;
-public interface IptcConstants extends JpegConstants {
+public class IptcConstants {
public static final int IPTC_NON_EXTENDED_RECORD_MAXIMUM_SIZE = 32767;
public static final int IMAGE_RESOURCE_BLOCK_PHOTOSHOP2_INFO = 0x03e8;
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=1539242&r1=1539241&r2=1539242&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 Wed Nov 6 05:01:04 2013
@@ -33,11 +33,12 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.common.BinaryOutputStream;
import org.apache.commons.imaging.common.ByteConversions;
import org.apache.commons.imaging.common.ByteOrder;
+import org.apache.commons.imaging.formats.jpeg.JpegConstants;
import org.apache.commons.imaging.util.Debug;
import org.apache.commons.imaging.util.IoUtils;
import org.apache.commons.imaging.util.ParamMap;
-public class IptcParser extends BinaryFileParser implements IptcConstants {
+public class IptcParser extends BinaryFileParser {
private static final ByteOrder APP13_BYTE_ORDER = ByteOrder.NETWORK;
public IptcParser() {
@@ -46,13 +47,13 @@ public class IptcParser extends BinaryFi
public boolean isPhotoshopJpegSegment(final byte segmentData[]) {
if (!BinaryFileParser.startsWith(segmentData,
- PHOTOSHOP_IDENTIFICATION_STRING)) {
+ JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING)) {
return false;
}
- final int index = PHOTOSHOP_IDENTIFICATION_STRING.size();
+ final int index = JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.size();
return (index + 4) <= segmentData.length &&
- ByteConversions.toInt(segmentData, index, APP13_BYTE_ORDER) == CONST_8BIM;
+ ByteConversions.toInt(segmentData, index, APP13_BYTE_ORDER) == JpegConstants.CONST_8BIM;
}
/*
@@ -137,7 +138,7 @@ public class IptcParser extends BinaryFi
+ ")");
}
- if (tagMarker != IPTC_RECORD_TAG_MARKER) {
+ if (tagMarker != IptcConstants.IPTC_RECORD_TAG_MARKER) {
if (verbose) {
System.out.println("Unexpected record tag marker in IPTC data.");
}
@@ -181,7 +182,7 @@ public class IptcParser extends BinaryFi
final int recordSize = toUInt16(bytes, index);
index += 2;
- final boolean extendedDataset = recordSize > IPTC_NON_EXTENDED_RECORD_MAXIMUM_SIZE;
+ final boolean extendedDataset = recordSize > IptcConstants.IPTC_NON_EXTENDED_RECORD_MAXIMUM_SIZE;
final int dataFieldCountLength = recordSize & 0x7fff;
if (extendedDataset && verbose) {
Debug.debug("extendedDataset. dataFieldCountLength: "
@@ -198,7 +199,7 @@ public class IptcParser extends BinaryFi
// Debug.debug("recordSize", recordSize + " (0x"
// + Integer.toHexString(recordSize) + ")");
- if (recordNumber != IPTC_APPLICATION_2_RECORD_NUMBER) {
+ if (recordNumber != IptcConstants.IPTC_APPLICATION_2_RECORD_NUMBER) {
continue;
}
@@ -269,9 +270,9 @@ public class IptcParser extends BinaryFi
// number of bytes (including the 1st byte, which is the size.)
final byte[] idString = bis.readBytes(
- PHOTOSHOP_IDENTIFICATION_STRING.size(),
+ JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.size(),
"App13 Segment missing identification string");
- if (!PHOTOSHOP_IDENTIFICATION_STRING.equals(idString)) {
+ if (!JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.equals(idString)) {
throw new ImageReadException("Not a Photoshop App13 Segment");
}
@@ -285,7 +286,7 @@ public class IptcParser extends BinaryFi
} catch (final IOException ioEx) {
break;
}
- if (imageResourceBlockSignature != CONST_8BIM) {
+ if (imageResourceBlockSignature != JpegConstants.CONST_8BIM) {
throw new ImageReadException(
"Invalid Image Resource Block Signature");
}
@@ -372,13 +373,13 @@ public class IptcParser extends BinaryFi
final ByteArrayOutputStream os = new ByteArrayOutputStream();
final BinaryOutputStream bos = new BinaryOutputStream(os);
- PHOTOSHOP_IDENTIFICATION_STRING.writeTo(bos);
+ JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.writeTo(bos);
final List<IptcBlock> blocks = data.getRawBlocks();
for (int i = 0; i < blocks.size(); i++) {
final IptcBlock block = blocks.get(i);
- bos.write4Bytes(CONST_8BIM);
+ bos.write4Bytes(JpegConstants.CONST_8BIM);
if (block.blockType < 0 || block.blockType > 0xffff) {
throw new ImageWriteException("Invalid IPTC block type.");
@@ -395,7 +396,7 @@ public class IptcParser extends BinaryFi
bos.write(0); // pad to even size, including length byte.
}
- if (block.blockData.length > IPTC_NON_EXTENDED_RECORD_MAXIMUM_SIZE) {
+ if (block.blockData.length > IptcConstants.IPTC_NON_EXTENDED_RECORD_MAXIMUM_SIZE) {
throw new ImageWriteException("IPTC block data is too long: "
+ block.blockData.length);
}
@@ -422,8 +423,8 @@ public class IptcParser extends BinaryFi
getByteOrder());
// first, right record version record
- bos.write(IPTC_RECORD_TAG_MARKER);
- bos.write(IPTC_APPLICATION_2_RECORD_NUMBER);
+ bos.write(IptcConstants.IPTC_RECORD_TAG_MARKER);
+ bos.write(IptcConstants.IPTC_APPLICATION_2_RECORD_NUMBER);
bos.write(IptcTypes.RECORD_VERSION.type); // record version record
// type.
bos.write2Bytes(2); // record version record size
@@ -449,8 +450,8 @@ public class IptcParser extends BinaryFi
continue; // ignore
}
- bos.write(IPTC_RECORD_TAG_MARKER);
- bos.write(IPTC_APPLICATION_2_RECORD_NUMBER);
+ bos.write(IptcConstants.IPTC_RECORD_TAG_MARKER);
+ bos.write(IptcConstants.IPTC_APPLICATION_2_RECORD_NUMBER);
if (element.iptcType.getType() < 0
|| element.iptcType.getType() > 0xff) {
throw new ImageWriteException("Invalid record type: "
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypeLookup.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypeLookup.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypeLookup.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypeLookup.java Wed Nov 6 05:01:04 2013
@@ -19,7 +19,7 @@ package org.apache.commons.imaging.forma
import java.util.HashMap;
import java.util.Map;
-public abstract class IptcTypeLookup implements IptcConstants {
+public abstract class IptcTypeLookup {
private static final Map<Integer, IptcType> IPTC_TYPE_MAP = new HashMap<Integer, IptcType>();
static {
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java Wed Nov 6 05:01:04 2013
@@ -32,12 +32,13 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.common.bytesource.ByteSourceArray;
import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
import org.apache.commons.imaging.common.bytesource.ByteSourceInputStream;
+import org.apache.commons.imaging.formats.jpeg.JpegConstants;
import org.apache.commons.imaging.formats.jpeg.xmp.JpegRewriter;
/**
* Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
*/
-public class JpegIptcRewriter extends JpegRewriter implements IptcConstants {
+public class JpegIptcRewriter extends JpegRewriter {
/**
* Reads a Jpeg image, removes all IPTC data from the App13 segment but
@@ -221,7 +222,7 @@ public class JpegIptcRewriter extends Jp
final byte[] newBlockBytes = new IptcParser().writeIPTCBlock(newData
.getRecords());
- final int blockType = IMAGE_RESOURCE_BLOCK_IPTC_DATA;
+ final int blockType = IptcConstants.IMAGE_RESOURCE_BLOCK_IPTC_DATA;
final byte[] blockNameBytes = new byte[0];
final IptcBlock newBlock = new IptcBlock(blockType, blockNameBytes,
newBlockBytes);
@@ -232,7 +233,7 @@ public class JpegIptcRewriter extends Jp
final byte segmentBytes[] = new IptcParser()
.writePhotoshopApp13Segment(newData);
final JFIFPieceSegment newSegment = new JFIFPieceSegment(
- JPEG_APP13_Marker, segmentBytes);
+ JpegConstants.JPEG_APP13_Marker, segmentBytes);
newPieces = insertAfterLastAppSegments(newPieces,
Arrays.asList(new JFIFPieceSegment[] { newSegment, }));
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/PhotoshopApp13Data.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/PhotoshopApp13Data.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/PhotoshopApp13Data.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/PhotoshopApp13Data.java Wed Nov 6 05:01:04 2013
@@ -20,7 +20,7 @@ package org.apache.commons.imaging.forma
import java.util.ArrayList;
import java.util.List;
-public class PhotoshopApp13Data implements IptcConstants {
+public class PhotoshopApp13Data {
private final List<IptcRecord> records;
private final List<IptcBlock> rawBlocks;
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/JfifSegment.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/JfifSegment.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/JfifSegment.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/JfifSegment.java Wed Nov 6 05:01:04 2013
@@ -23,7 +23,7 @@ import java.io.InputStream;
import org.apache.commons.imaging.ImageReadException;
import org.apache.commons.imaging.formats.jpeg.JpegConstants;
-public class JfifSegment extends Segment implements JpegConstants {
+public class JfifSegment extends Segment {
public final int jfifMajorVersion;
public final int jfifMinorVersion;
public final int densityUnits;
@@ -48,9 +48,9 @@ public class JfifSegment extends Segment
throws ImageReadException, IOException {
super(marker, marker_length);
- final byte signature[] = readBytes(is, JFIF0_SIGNATURE.size());
- if (!JFIF0_SIGNATURE.equals(signature)
- && !JFIF0_SIGNATURE_ALTERNATIVE.equals(signature)) {
+ final byte signature[] = readBytes(is, JpegConstants.JFIF0_SIGNATURE.size());
+ if (!JpegConstants.JFIF0_SIGNATURE.equals(signature)
+ && !JpegConstants.JFIF0_SIGNATURE_ALTERNATIVE.equals(signature)) {
throw new ImageReadException(
"Not a Valid JPEG File: missing JFIF string");
}
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java Wed Nov 6 05:01:04 2013
@@ -35,7 +35,7 @@ import org.apache.commons.imaging.util.I
/**
* Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
*/
-public class JpegRewriter extends BinaryFileParser implements JpegConstants {
+public class JpegRewriter extends BinaryFileParser {
private static final ByteOrder JPEG_BYTE_ORDER = ByteOrder.NETWORK;
/**
@@ -102,25 +102,25 @@ public class JpegRewriter extends Binary
}
public boolean isApp1Segment() {
- return marker == JPEG_APP1_Marker;
+ return marker == JpegConstants.JPEG_APP1_Marker;
}
public boolean isAppSegment() {
- return marker >= JPEG_APP0_Marker && marker <= JPEG_APP15_Marker;
+ return marker >= JpegConstants.JPEG_APP0_Marker && marker <= JpegConstants.JPEG_APP15_Marker;
}
public boolean isExifSegment() {
- if (marker != JPEG_APP1_Marker) {
+ if (marker != JpegConstants.JPEG_APP1_Marker) {
return false;
}
- if (!startsWith(segmentData, EXIF_IDENTIFIER_CODE)) {
+ if (!startsWith(segmentData, JpegConstants.EXIF_IDENTIFIER_CODE)) {
return false;
}
return true;
}
public boolean isPhotoshopApp13Segment() {
- if (marker != JPEG_APP13_Marker) {
+ if (marker != JpegConstants.JPEG_APP13_Marker) {
return false;
}
if (!new IptcParser().isPhotoshopJpegSegment(segmentData)) {
@@ -130,10 +130,10 @@ public class JpegRewriter extends Binary
}
public boolean isXmpSegment() {
- if (marker != JPEG_APP1_Marker) {
+ if (marker != JpegConstants.JPEG_APP1_Marker) {
return false;
}
- if (!startsWith(segmentData, XMP_IDENTIFIER)) {
+ if (!startsWith(segmentData, JpegConstants.XMP_IDENTIFIER)) {
return false;
}
return true;
@@ -315,7 +315,7 @@ public class JpegRewriter extends Binary
final List<? extends JFIFPiece> segments) throws IOException {
boolean canThrow = false;
try {
- SOI.writeTo(os);
+ JpegConstants.SOI.writeTo(os);
for (int i = 0; i < segments.size(); i++) {
final JFIFPiece piece = segments.get(i);
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpParser.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpParser.java Wed Nov 6 05:01:04 2013
@@ -24,14 +24,14 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.common.ByteOrder;
import org.apache.commons.imaging.formats.jpeg.JpegConstants;
-public class JpegXmpParser extends BinaryFileParser implements JpegConstants {
+public class JpegXmpParser extends BinaryFileParser {
public JpegXmpParser() {
setByteOrder(ByteOrder.NETWORK);
}
public boolean isXmpJpegSegment(final byte segmentData[]) {
- return BinaryFileParser.startsWith(segmentData, XMP_IDENTIFIER);
+ return BinaryFileParser.startsWith(segmentData, JpegConstants.XMP_IDENTIFIER);
}
public String parseXmpJpegSegment(final byte segmentData[])
@@ -39,7 +39,7 @@ public class JpegXmpParser extends Binar
if (!isXmpJpegSegment(segmentData)) {
throw new ImageReadException("Invalid JPEG XMP Segment.");
}
- final int index = XMP_IDENTIFIER.size();
+ final int index = JpegConstants.XMP_IDENTIFIER.size();
try {
// segment data is UTF-8 encoded xml.
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java Wed Nov 6 05:01:04 2013
@@ -30,6 +30,7 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.common.bytesource.ByteSourceArray;
import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
import org.apache.commons.imaging.common.bytesource.ByteSourceInputStream;
+import org.apache.commons.imaging.formats.jpeg.JpegConstants;
/**
* Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
@@ -178,10 +179,10 @@ public class JpegXmpRewriter extends Jpe
final byte xmpXmlBytes[] = xmpXml.getBytes("utf-8");
int index = 0;
while (index < xmpXmlBytes.length) {
- final int segmentSize = Math.min(xmpXmlBytes.length, MAX_SEGMENT_SIZE);
+ final int segmentSize = Math.min(xmpXmlBytes.length, JpegConstants.MAX_SEGMENT_SIZE);
final byte segmentData[] = writeXmpSegment(xmpXmlBytes, index,
segmentSize);
- newPieces.add(new JFIFPieceSegment(JPEG_APP1_Marker, segmentData));
+ newPieces.add(new JFIFPieceSegment(JpegConstants.JPEG_APP1_Marker, segmentData));
index += segmentSize;
}
@@ -194,7 +195,7 @@ public class JpegXmpRewriter extends Jpe
throws IOException {
final ByteArrayOutputStream os = new ByteArrayOutputStream();
- XMP_IDENTIFIER.writeTo(os);
+ JpegConstants.XMP_IDENTIFIER.writeTo(os);
os.write(xmpXmlData, start, length);
return os.toByteArray();
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxConstants.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxConstants.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxConstants.java Wed Nov 6 05:01:04 2013
@@ -14,9 +14,8 @@
*/
package org.apache.commons.imaging.formats.pcx;
-import org.apache.commons.imaging.ImagingConstants;
-public interface PcxConstants extends ImagingConstants {
+public class PcxConstants {
public static final String PARAM_KEY_PCX_COMPRESSION = "PCX_COMPRESSION";
public static final int PCX_COMPRESSION_UNCOMPRESSED = 0;
public static final int PCX_COMPRESSION_RLE = 1;
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java Wed Nov 6 05:01:04 2013
@@ -49,7 +49,7 @@ import org.apache.commons.imaging.common
import org.apache.commons.imaging.common.bytesource.ByteSource;
import org.apache.commons.imaging.util.IoUtils;
-public class PcxImageParser extends ImageParser implements PcxConstants {
+public class PcxImageParser extends ImageParser {
// ZSoft's official spec is at http://www.qzx.com/pc-gpe/pcx.txt
// (among other places) but it's pretty thin. The fileformat.info document
// at http://www.fileformat.info/format/pcx/egff.htm is a little better
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/pcx/PcxWriter.java Wed Nov 6 05:01:04 2013
@@ -23,13 +23,14 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.imaging.ImageWriteException;
+import org.apache.commons.imaging.ImagingConstants;
import org.apache.commons.imaging.PixelDensity;
import org.apache.commons.imaging.common.BinaryOutputStream;
import org.apache.commons.imaging.common.ByteOrder;
import org.apache.commons.imaging.palette.PaletteFactory;
import org.apache.commons.imaging.palette.SimplePalette;
-public class PcxWriter implements PcxConstants {
+public class PcxWriter {
private int encoding;
private int bitDepth = -1;
private PixelDensity pixelDensity = null;
@@ -39,29 +40,29 @@ public class PcxWriter implements PcxCon
params = (params == null) ? new HashMap<String,Object>() : new HashMap<String,Object>(params);
// clear format key.
- if (params.containsKey(PARAM_KEY_FORMAT)) {
- params.remove(PARAM_KEY_FORMAT);
+ if (params.containsKey(ImagingConstants.PARAM_KEY_FORMAT)) {
+ params.remove(ImagingConstants.PARAM_KEY_FORMAT);
}
// uncompressed PCX files are not even documented in ZSoft's spec,
// let alone supported by most image viewers
encoding = PcxImageParser.PcxHeader.ENCODING_RLE;
- if (params.containsKey(PARAM_KEY_PCX_COMPRESSION)) {
- final Object value = params.remove(PARAM_KEY_PCX_COMPRESSION);
+ if (params.containsKey(PcxConstants.PARAM_KEY_PCX_COMPRESSION)) {
+ final Object value = params.remove(PcxConstants.PARAM_KEY_PCX_COMPRESSION);
if (value != null) {
if (!(value instanceof Number)) {
throw new ImageWriteException(
"Invalid compression parameter: " + value);
}
final int compression = ((Number) value).intValue();
- if (compression == PCX_COMPRESSION_UNCOMPRESSED) {
+ if (compression == PcxConstants.PCX_COMPRESSION_UNCOMPRESSED) {
encoding = PcxImageParser.PcxHeader.ENCODING_UNCOMPRESSED;
}
}
}
- if (params.containsKey(PARAM_KEY_PCX_BIT_DEPTH)) {
- final Object value = params.remove(PARAM_KEY_PCX_BIT_DEPTH);
+ if (params.containsKey(PcxConstants.PARAM_KEY_PCX_BIT_DEPTH)) {
+ final Object value = params.remove(PcxConstants.PARAM_KEY_PCX_BIT_DEPTH);
if (value != null) {
if (!(value instanceof Number)) {
throw new ImageWriteException(
@@ -71,8 +72,8 @@ public class PcxWriter implements PcxCon
}
}
- if (params.containsKey(PARAM_KEY_PIXEL_DENSITY)) {
- final Object value = params.remove(PARAM_KEY_PIXEL_DENSITY);
+ if (params.containsKey(ImagingConstants.PARAM_KEY_PIXEL_DENSITY)) {
+ final Object value = params.remove(ImagingConstants.PARAM_KEY_PIXEL_DENSITY);
if (value != null) {
if (!(value instanceof PixelDensity)) {
throw new ImageWriteException(
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngConstants.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngConstants.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngConstants.java Wed Nov 6 05:01:04 2013
@@ -16,11 +16,10 @@
*/
package org.apache.commons.imaging.formats.png;
-import org.apache.commons.imaging.ImagingConstants;
import org.apache.commons.imaging.common.BinaryConstant;
import org.apache.commons.imaging.common.BinaryFunctions;
-public interface PngConstants extends ImagingConstants {
+public class PngConstants {
public static final int COMPRESSION_DEFLATE_INFLATE = 0;
@@ -135,7 +134,7 @@ public interface PngConstants extends Im
* image.
*/
- public final String XMP_KEYWORD = "XML:com.adobe.xmp";
+ public static final String XMP_KEYWORD = "XML:com.adobe.xmp";
/**
* Parameter key.
Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java?rev=1539242&r1=1539241&r2=1539242&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java Wed Nov 6 05:01:04 2013
@@ -63,7 +63,7 @@ import org.apache.commons.imaging.icc.Ic
import org.apache.commons.imaging.util.IoUtils;
import org.apache.commons.imaging.util.ParamMap;
-public class PngImageParser extends ImageParser implements PngConstants {
+public class PngImageParser extends ImageParser {
public PngImageParser() {
// setDebug(true);
@@ -184,23 +184,23 @@ public class PngImageParser extends Imag
final int CRC = read4Bytes("CRC", is, "Not a Valid PNG File");
if (keep) {
- if (chunkType == iCCP) {
+ if (chunkType == PngConstants.iCCP) {
result.add(new PngChunkIccp(length, chunkType, CRC, bytes));
- } else if (chunkType == tEXt) {
+ } else if (chunkType == PngConstants.tEXt) {
result.add(new PngChunkText(length, chunkType, CRC, bytes));
- } else if (chunkType == zTXt) {
+ } else if (chunkType == PngConstants.zTXt) {
result.add(new PngChunkZtxt(length, chunkType, CRC, bytes));
- } else if (chunkType == IHDR) {
+ } else if (chunkType == PngConstants.IHDR) {
result.add(new PngChunkIhdr(length, chunkType, CRC, bytes));
- } else if (chunkType == PLTE) {
+ } else if (chunkType == PngConstants.PLTE) {
result.add(new PngChunkPlte(length, chunkType, CRC, bytes));
- } else if (chunkType == pHYs) {
+ } else if (chunkType == PngConstants.pHYs) {
result.add(new PngChunkPhys(length, chunkType, CRC, bytes));
- } else if (chunkType == IDAT) {
+ } else if (chunkType == PngConstants.IDAT) {
result.add(new PngChunkIdat(length, chunkType, CRC, bytes));
- } else if (chunkType == gAMA) {
+ } else if (chunkType == PngConstants.gAMA) {
result.add(new PngChunkGama(length, chunkType, CRC, bytes));
- } else if (chunkType == iTXt) {
+ } else if (chunkType == PngConstants.iTXt) {
result.add(new PngChunkItxt(length, chunkType, CRC, bytes));
} else {
result.add(new PngChunk(length, chunkType, CRC, bytes));
@@ -211,7 +211,7 @@ public class PngImageParser extends Imag
}
}
- if (chunkType == IEND) {
+ if (chunkType == PngConstants.IEND) {
break;
}
@@ -223,7 +223,7 @@ public class PngImageParser extends Imag
public void readSignature(final InputStream is) throws ImageReadException,
IOException {
- readAndVerifyBytes(is, PNG_Signature,
+ readAndVerifyBytes(is, PngConstants.PNG_Signature,
"Not a Valid PNG Segment: Incorrect Signature");
}
@@ -248,7 +248,7 @@ public class PngImageParser extends Imag
@Override
public byte[] getICCProfileBytes(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
- final List<PngChunk> chunks = readChunks(byteSource, new int[] { iCCP, },
+ final List<PngChunk> chunks = readChunks(byteSource, new int[] { PngConstants.iCCP, },
true);
if ((chunks == null) || (chunks.size() < 1)) {
@@ -270,7 +270,7 @@ public class PngImageParser extends Imag
@Override
public Dimension getImageSize(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
- final List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, },
+ final List<PngChunk> chunks = readChunks(byteSource, new int[] { PngConstants.IHDR, },
true);
if ((chunks == null) || (chunks.size() < 1)) {
@@ -299,7 +299,7 @@ public class PngImageParser extends Imag
public IImageMetadata getMetadata(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
final List<PngChunk> chunks = readChunks(byteSource,
- new int[] { tEXt, zTXt, }, true);
+ new int[] { PngConstants.tEXt, PngConstants.zTXt, }, true);
if ((chunks == null) || (chunks.size() < 1)) {
return null;
@@ -346,15 +346,15 @@ public class PngImageParser extends Imag
// 6 8,16 Each pixel is an R,G,B triple,
// followed by an alpha sample.
switch (colorType) {
- case COLOR_TYPE_GREYSCALE:
+ case PngConstants.COLOR_TYPE_GREYSCALE:
return true;
- case COLOR_TYPE_TRUE_COLOR:
+ case PngConstants.COLOR_TYPE_TRUE_COLOR:
return false;
- case COLOR_TYPE_INDEXED_COLOR:
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR:
return false;
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA:
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA:
return true;
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA:
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA:
return false;
}
@@ -392,15 +392,15 @@ public class PngImageParser extends Imag
// 6 8,16 Each pixel is an R,G,B triple,
// followed by an alpha sample.
switch (colorType) {
- case COLOR_TYPE_GREYSCALE:
+ case PngConstants.COLOR_TYPE_GREYSCALE:
return 1;
- case COLOR_TYPE_TRUE_COLOR:
+ case PngConstants.COLOR_TYPE_TRUE_COLOR:
return 3;
- case COLOR_TYPE_INDEXED_COLOR:
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR:
return 1; // is this accurate ? how may bits per index?
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA:
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA:
return 2;
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA:
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA:
return 4;
}
@@ -423,15 +423,15 @@ public class PngImageParser extends Imag
private boolean hasAlphaChannel(final int ColorType) throws ImageReadException {
switch (ColorType) {
- case COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
// sample.
- case COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
- case COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
+ case PngConstants.COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
return false;
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
// sample,
// followed by an alpha sample.
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
// triple,
// followed by an alpha sample.
return true;
@@ -443,18 +443,18 @@ public class PngImageParser extends Imag
private String getColorTypeDescription(final int ColorType) {
switch (ColorType) {
- case COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
// sample.
return "grayscale";
- case COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
+ case PngConstants.COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
return "rgb";
- case COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
return "indexed rgb";
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
// sample,
// followed by an alpha sample.
return "grayscale w/ alpha";
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
// triple,
// followed by an alpha sample.
return "RGB w/ alpha";
@@ -473,16 +473,16 @@ public class PngImageParser extends Imag
// this.debugNumber("pngChunktRNS.Length", pngChunktRNS.Length);
switch (ColorType) {
- case COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
// sample.
return new TransparencyFilterGrayscale(pngChunktRNS.getBytes());
- case COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
+ case PngConstants.COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
return new TransparencyFilterTrueColor(pngChunktRNS.getBytes());
- case COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette index;
return new TransparencyFilterIndexedColor(pngChunktRNS.getBytes());
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a grayscale
// sample,
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an R,G,B
// triple,
default:
throw new ImageReadException(
@@ -494,8 +494,15 @@ public class PngImageParser extends Imag
@Override
public ImageInfo getImageInfo(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
- final List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, pHYs,
- tEXt, zTXt, tRNS, PLTE, iTXt, }, false);
+ final List<PngChunk> chunks = readChunks(byteSource, new int[] {
+ PngConstants.IHDR,
+ PngConstants.pHYs,
+ PngConstants.tEXt,
+ PngConstants.zTXt,
+ PngConstants.tRNS,
+ PngConstants.PLTE,
+ PngConstants.iTXt,
+ }, false);
// if(chunks!=null)
// System.out.println("chunks: " + chunks.size());
@@ -504,7 +511,7 @@ public class PngImageParser extends Imag
throw new ImageReadException("PNG: no chunks");
}
- final List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
+ final List<PngChunk> IHDRs = filterChunks(chunks, PngConstants.IHDR);
if (IHDRs.size() != 1) {
throw new ImageReadException("PNG contains more than one Header");
}
@@ -513,7 +520,7 @@ public class PngImageParser extends Imag
boolean isTransparent = false;
- final List<PngChunk> tRNSs = filterChunks(chunks, tRNS);
+ final List<PngChunk> tRNSs = filterChunks(chunks, PngConstants.tRNS);
if (tRNSs.size() > 0) {
isTransparent = true;
} else {
@@ -524,7 +531,7 @@ public class PngImageParser extends Imag
PngChunkPhys pngChunkpHYs = null;
- final List<PngChunk> pHYss = filterChunks(chunks, pHYs);
+ final List<PngChunk> pHYss = filterChunks(chunks, PngConstants.pHYs);
if (pHYss.size() > 1) {
throw new ImageReadException("PNG contains more than one pHYs: "
+ pHYss.size());
@@ -532,9 +539,9 @@ public class PngImageParser extends Imag
pngChunkpHYs = (PngChunkPhys) pHYss.get(0);
}
- final List<PngChunk> tEXts = filterChunks(chunks, tEXt);
- final List<PngChunk> zTXts = filterChunks(chunks, zTXt);
- final List<PngChunk> iTXts = filterChunks(chunks, iTXt);
+ final List<PngChunk> tEXts = filterChunks(chunks, PngConstants.tEXt);
+ final List<PngChunk> zTXts = filterChunks(chunks, PngConstants.zTXt);
+ final List<PngChunk> iTXts = filterChunks(chunks, PngConstants.iTXt);
final List<String> comments = new ArrayList<String>();
final List<PngText> textChunks = new ArrayList<PngText>();
@@ -596,24 +603,24 @@ public class PngImageParser extends Imag
boolean usesPalette = false;
- final List<PngChunk> PLTEs = filterChunks(chunks, PLTE);
+ final List<PngChunk> PLTEs = filterChunks(chunks, PngConstants.PLTE);
if (PLTEs.size() > 1) {
usesPalette = true;
}
int ColorType;
switch (pngChunkIHDR.colorType) {
- case COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
+ case PngConstants.COLOR_TYPE_GREYSCALE: // 1,2,4,8,16 Each pixel is a grayscale
// sample.
- case COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a
+ case PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA: // 8,16 Each pixel is a
// grayscale sample,
// followed by an alpha sample.
ColorType = ImageInfo.COLOR_TYPE_GRAYSCALE;
break;
- case COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
- case COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette
+ case PngConstants.COLOR_TYPE_TRUE_COLOR: // 8,16 Each pixel is an R,G,B triple.
+ case PngConstants.COLOR_TYPE_INDEXED_COLOR: // 1,2,4,8 Each pixel is a palette
// index;
- case COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an
+ case PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA: // 8,16 Each pixel is an
// R,G,B triple,
// followed by an alpha sample.
ColorType = ImageInfo.COLOR_TYPE_RGB;
@@ -646,21 +653,28 @@ public class PngImageParser extends Imag
// throw new ImageWriteException("Unknown parameter: " + firstKey);
// }
- final List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, PLTE,
- IDAT, tRNS, iCCP, gAMA, sRGB, }, false);
+ final List<PngChunk> chunks = readChunks(byteSource, new int[] {
+ PngConstants.IHDR,
+ PngConstants.PLTE,
+ PngConstants.IDAT,
+ PngConstants.tRNS,
+ PngConstants.iCCP,
+ PngConstants.gAMA,
+ PngConstants.sRGB,
+ }, false);
if ((chunks == null) || (chunks.size() < 1)) {
throw new ImageReadException("PNG: no chunks");
}
- final List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
+ final List<PngChunk> IHDRs = filterChunks(chunks, PngConstants.IHDR);
if (IHDRs.size() != 1) {
throw new ImageReadException("PNG contains more than one Header");
}
final PngChunkIhdr pngChunkIHDR = (PngChunkIhdr) IHDRs.get(0);
- final List<PngChunk> PLTEs = filterChunks(chunks, PLTE);
+ final List<PngChunk> PLTEs = filterChunks(chunks, PngConstants.PLTE);
if (PLTEs.size() > 1) {
throw new ImageReadException("PNG contains more than one Palette");
}
@@ -672,7 +686,7 @@ public class PngImageParser extends Imag
// -----
- final List<PngChunk> IDATs = filterChunks(chunks, IDAT);
+ final List<PngChunk> IDATs = filterChunks(chunks, PngConstants.IDAT);
if (IDATs.size() < 1) {
throw new ImageReadException("PNG missing image data");
}
@@ -691,7 +705,7 @@ public class PngImageParser extends Imag
TransparencyFilter transparencyFilter = null;
- final List<PngChunk> tRNSs = filterChunks(chunks, tRNS);
+ final List<PngChunk> tRNSs = filterChunks(chunks, PngConstants.tRNS);
if (tRNSs.size() > 0) {
final PngChunk pngChunktRNS = tRNSs.get(0);
transparencyFilter = getTransparencyFilter(pngChunkIHDR.colorType,
@@ -701,9 +715,9 @@ public class PngImageParser extends Imag
ICC_Profile icc_profile = null;
GammaCorrection gammaCorrection = null;
{
- final List<PngChunk> sRGBs = filterChunks(chunks, sRGB);
- final List<PngChunk> gAMAs = filterChunks(chunks, gAMA);
- final List<PngChunk> iCCPs = filterChunks(chunks, iCCP);
+ final List<PngChunk> sRGBs = filterChunks(chunks, PngConstants.sRGB);
+ final List<PngChunk> gAMAs = filterChunks(chunks, PngConstants.gAMA);
+ final List<PngChunk> iCCPs = filterChunks(chunks, PngConstants.iCCP);
if (sRGBs.size() > 1) {
throw new ImageReadException("PNG: unexpected sRGB chunk");
}
@@ -767,8 +781,8 @@ public class PngImageParser extends Imag
final int bitsPerPixel = bitsPerSample * samplesPerPixel;
- final boolean hasAlpha = colorType == COLOR_TYPE_GREYSCALE_WITH_ALPHA
- || colorType == COLOR_TYPE_TRUE_COLOR_WITH_ALPHA
+ final boolean hasAlpha = colorType == PngConstants.COLOR_TYPE_GREYSCALE_WITH_ALPHA
+ || colorType == PngConstants.COLOR_TYPE_TRUE_COLOR_WITH_ALPHA
|| transparencyFilter != null;
BufferedImage result;
@@ -830,7 +844,7 @@ public class PngImageParser extends Imag
imageInfo.toString(pw, "");
final List<PngChunk> chunks = readChunks(byteSource, null, false);
- final List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
+ final List<PngChunk> IHDRs = filterChunks(chunks, PngConstants.IHDR);
if (IHDRs.size() != 1) {
if (getDebug()) {
System.out.println("PNG contains more than one Header");
@@ -879,7 +893,7 @@ public class PngImageParser extends Imag
public String getXmpXml(final ByteSource byteSource, final Map<String,Object> params)
throws ImageReadException, IOException {
- final List<PngChunk> chunks = readChunks(byteSource, new int[] { iTXt, },
+ final List<PngChunk> chunks = readChunks(byteSource, new int[] { PngConstants.iTXt, },
false);
if ((chunks == null) || (chunks.size() < 1)) {
@@ -889,7 +903,7 @@ public class PngImageParser extends Imag
final List<PngChunkItxt> xmpChunks = new ArrayList<PngChunkItxt>();
for (int i = 0; i < chunks.size(); i++) {
final PngChunkItxt chunk = (PngChunkItxt) chunks.get(i);
- if (!chunk.getKeyword().equals(XMP_KEYWORD)) {
+ if (!chunk.getKeyword().equals(PngConstants.XMP_KEYWORD)) {
continue;
}
xmpChunks.add(chunk);