/** @return a byte array of horizontal pixels (0 = white, 1 = black) */ public byte[] encode(String contents) { if (contents.length() != 8) { throw new IllegalArgumentException( "Requested contents should be 8 digits long, but got " + contents.length()); } byte[] result = new byte[codeWidth]; int pos = 0; pos += appendPattern(result, pos, UPCEANReader.START_END_PATTERN, 1); for (int i = 0; i <= 3; i++) { int digit = Integer.parseInt(contents.substring(i, i + 1)); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], 0); } pos += appendPattern(result, pos, UPCEANReader.MIDDLE_PATTERN, 0); for (int i = 4; i <= 7; i++) { int digit = Integer.parseInt(contents.substring(i, i + 1)); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], 1); } pos += appendPattern(result, pos, UPCEANReader.START_END_PATTERN, 1); return result; }
public BitMatrix encode(String contents, BarcodeFormat format, int width, int height, Hashtable hints) throws WriterException { Writer writer; if (format == BarcodeFormat.EAN_8) { writer = new EAN8Writer(); } else if (format == BarcodeFormat.EAN_13) { writer = new EAN13Writer(); } else if (format == BarcodeFormat.QR_CODE) { writer = new QRCodeWriter(); } else if (format == BarcodeFormat.CODE_39) { writer = new Code39Writer(); } else if (format == BarcodeFormat.CODE_128) { writer = new Code128Writer(); } else if (format == BarcodeFormat.ITF) { writer = new ITFWriter(); } else { throw new IllegalArgumentException("No encoder available for format " + format); } return writer.encode(contents, format, width, height, hints); }
int pos = 0; pos += appendPattern(result, pos, UPCEANReader.START_END_PATTERN, true); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], false); pos += appendPattern(result, pos, UPCEANReader.MIDDLE_PATTERN, false); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], true); appendPattern(result, pos, UPCEANReader.START_END_PATTERN, true);
int pos = 0; pos += appendPattern(result, pos, UPCEANReader.START_END_PATTERN, true); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], false); pos += appendPattern(result, pos, UPCEANReader.MIDDLE_PATTERN, false); pos += appendPattern(result, pos, UPCEANReader.L_PATTERNS[digit], true); appendPattern(result, pos, UPCEANReader.START_END_PATTERN, true);