/** @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; }
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);