import com.google.zxing.ResultMetadataType;
import com.google.zxing.ResultPoint;
import com.google.zxing.common.BitArray;
-import com.google.zxing.common.GenericResultPoint;
import java.util.Hashtable;
} catch (ReaderException re) {
continue;
}
- image.getBlackRow(rowNumber, row, 0, width);
+ row = image.getBlackRow(rowNumber, row, 0, width);
// While we have the image data in a BitArray, it's fairly cheap to reverse it in place to
// handle decoding upside down barcodes.
result.putMetadata(ResultMetadataType.ORIENTATION, new Integer(180));
// And remember to flip the result points horizontally.
ResultPoint[] points = result.getResultPoints();
- points[0] = new GenericResultPoint(width - points[0].getX() - 1, points[0].getY());
- points[1] = new GenericResultPoint(width - points[1].getX() - 1, points[1].getY());
+ points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY());
+ points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY());
}
return result;
} catch (ReaderException re) {
int i = start;
while (i < end) {
boolean pixel = row.get(i);
- if ((!pixel && isWhite) || (pixel && !isWhite)) {
+ if (pixel ^ isWhite) { // that is, exactly one is true
counters[counterPosition]++;
} else {
counterPosition++;
break;
} else {
counters[counterPosition] = 1;
- isWhite = !isWhite;
+ isWhite ^= true; // isWhite = !isWhite; Is this too clever? shorter byte code, no conditional
}
}
i++;