this.hints = hints;
boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
- Vector possibleFormats = hints == null ? null : (Vector) hints.get(DecodeHintType.POSSIBLE_FORMATS);
+ Vector formats = hints == null ? null : (Vector) hints.get(DecodeHintType.POSSIBLE_FORMATS);
readers = new Vector();
- if (possibleFormats != null) {
+ if (formats != null) {
boolean addOneDReader =
- possibleFormats.contains(BarcodeFormat.UPC_A) ||
- possibleFormats.contains(BarcodeFormat.UPC_E) ||
- possibleFormats.contains(BarcodeFormat.EAN_13) ||
- possibleFormats.contains(BarcodeFormat.EAN_8) ||
- possibleFormats.contains(BarcodeFormat.CODE_39) ||
- possibleFormats.contains(BarcodeFormat.CODE_128) ||
- possibleFormats.contains(BarcodeFormat.ITF);
+ formats.contains(BarcodeFormat.UPC_A) ||
+ formats.contains(BarcodeFormat.UPC_E) ||
+ formats.contains(BarcodeFormat.EAN_13) ||
+ formats.contains(BarcodeFormat.EAN_8) ||
+ formats.contains(BarcodeFormat.CODE_39) ||
+ formats.contains(BarcodeFormat.CODE_128) ||
+ formats.contains(BarcodeFormat.ITF);
// Put 1D readers upfront in "normal" mode
if (addOneDReader && !tryHarder) {
readers.addElement(new MultiFormatOneDReader(hints));
}
- if (possibleFormats.contains(BarcodeFormat.QR_CODE)) {
+ if (formats.contains(BarcodeFormat.QR_CODE)) {
readers.addElement(new QRCodeReader());
}
- if (possibleFormats.contains(BarcodeFormat.DATAMATRIX)) {
+ if (formats.contains(BarcodeFormat.DATAMATRIX)) {
readers.addElement(new DataMatrixReader());
}
// At end in "try harder" mode
}
/**
- * @return {@link BarcodeFormat} representing the format of the barcode that was recognized and decoded
+ * @return {@link BarcodeFormat} representing the format of the barcode that was decoded
*/
public BarcodeFormat getBarcodeFormat() {
return format;
}
/**
- * @return {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be <code>null</code>.
- * This contains optional metadata about what was detected about the barcode, like orientation.
+ * @return {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be
+ * <code>null</code>. This contains optional metadata about what was detected about the barcode,
+ * like orientation.
*/
public Hashtable getResultMetadata() {
return resultMetadata;
return column;
}
- public void estimateBlackPoint(BlackPointEstimationMethod method, int argument) throws ReaderException {
+ public void estimateBlackPoint(BlackPointEstimationMethod method, int argument)
+ throws ReaderException {
if (!method.equals(lastMethod) || argument != lastArgument) {
int width = getWidth();
int height = getHeight();
* @param histogram an array of <em>counts</em> of luminance values\r
* @return index within argument of bucket corresponding to brightest values which should be\r
* considered "black"\r
- * @throws ReaderException if "black" and "white" appear to be very close in luminance in the image\r
+ * @throws ReaderException if "black" and "white" appear to be very close in luminance\r
*/\r
public static int estimate(int[] histogram) throws ReaderException{\r
-\r
int numBuckets = histogram.length;\r
int maxBucketCount = 0;\r
// Find tallest peak in histogram\r
/**
* @param value character set ECI value
- * @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but unsupported
+ * @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but
+ * unsupported
* @throws IllegalArgumentException if ECI value is invalid
*/
public static CharacterSetECI getCharacterSetECIByValue(int value) {
/**
* @param name character set ECI encoding name
- * @return {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal but unsupported
+ * @return {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal
+ * but unsupported
*/
public static CharacterSetECI getCharacterSetECIByName(String name) {
if (NAME_TO_ECI == null) {
// transform gets "twisted" such that it maps a straight line of points to a set of points
// whose endpoints are in bounds, but others are not. There is probably some mathematical
// way to detect this about the transformation that I don't know yet.
- // This results in an ugly runtime exception despite our clever checks above -- can't have that.
- // We could check each point's coordinates but that feels duplicative. We settle for
+ // This results in an ugly runtime exception despite our clever checks above -- can't have
+ // that. We could check each point's coordinates but that feels duplicative. We settle for
// catching and wrapping ArrayIndexOutOfBoundsException.
throw ReaderException.getInstance();
}
package com.google.zxing.common;
/**
- * Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" 5.3
- * of ISO 18004.
+ * Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations"
+ * 5.3 of ISO 18004.
*
* @author Sean Owen
*/
}
/**
- * <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract the
- * black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode may be
- * rotated or perspective-distorted, the caller supplies four points in the source image that define
- * known points in the barcode, so that the image may be sampled appropriately.</p>
+ * <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract
+ * the black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode
+ * may be rotated or perspective-distorted, the caller supplies four points in the source image
+ * that define known points in the barcode, so that the image may be sampled appropriately.</p>
*
* <p>The last eight "from" parameters are four X/Y coordinate pairs of locations of points in
* the image that define some significant points in the image to be sample. For example,
* these may be the location of finder pattern in a QR Code.</p>
*
* <p>The first eight "to" parameters are four X/Y coordinate pairs measured in the destination
- * {@link BitMatrix}, from the top left, where the known points in the image given by the "from" parameters
- * map to.</p>
+ * {@link BitMatrix}, from the top left, where the known points in the image given by the "from"
+ * parameters map to.</p>
*
* <p>These 16 parameters define the transformation needed to sample the image.</p>
*
* @param image image to sample
* @param dimension width/height of {@link BitMatrix} to sample from iamge
* @return {@link BitMatrix} representing a grid of points sampled from the image within a region
- * defined by the "from" parameters
- * @throws ReaderException if image can't be sampled, for example, if the transformation defined by
- * the given points is invalid or results in sampling outside the image boundaries
+ * defined by the "from" parameters
+ * @throws ReaderException if image can't be sampled, for example, if the transformation defined
+ * by the given points is invalid or results in sampling outside the image boundaries
*/
public abstract BitMatrix sampleGrid(MonochromeBitmapSource image,
int dimension,
* <p>Checks a set of points that have been transformed to sample points on an image against
* the image's dimensions to see if the point are even within the image.</p>
*
- * <p>This method will actually "nudge" the endpoints back onto the image if they are found to be barely
- * (less than 1 pixel) off the image. This accounts for imperfect detection of finder patterns in an image
- * where the QR Code runs all the way to the image border.</p>
+ * <p>This method will actually "nudge" the endpoints back onto the image if they are found to be
+ * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder
+ * patterns in an image where the QR Code runs all the way to the image border.</p>
*
* <p>For efficiency, the method will check points from either end of the line until one is found
* to be within the image. Because the set of points are assumed to be linear, this is valid.</p>
* @param points actual points in x1,y1,...,xn,yn form
* @throws ReaderException if an endpoint is lies outside the image boundaries
*/
- protected static void checkAndNudgePoints(MonochromeBitmapSource image, float[] points) throws ReaderException {
+ protected static void checkAndNudgePoints(MonochromeBitmapSource image, float[] points)
+ throws ReaderException {
int width = image.getWidth();
int height = image.getHeight();
// Check and nudge points from start until we see some that are OK:
package com.google.zxing.common;\r
\r
/**\r
- * <p>This class implements a perspective transform in two dimensions. Given four source and four destination\r
- * points, it will compute the transformation implied between them. The code is based directly upon section\r
- * 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>\r
+ * <p>This class implements a perspective transform in two dimensions. Given four source and four\r
+ * destination points, it will compute the transformation implied between them. The code is based\r
+ * directly upon section 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>\r
*\r
* @author Sean Owen\r
*/\r