2015-09-10 1 views
2

Я использую ZXing 3.2 java lib, и мне нужно создать прямоугольную матрицу данных 16 * 48 ячеек (16 ячеек для высоты и 48 ячеек для ширины).ZXing 3.2 Java: Как установить ячейки числа матрицы данных?

Я не нашел способа сделать это. Кто-нибудь знает как это сделать?

Сниппет пример:

Hashtable<EncodeHintType,Object> hints=null; 
hints=new Hashtable<EncodeHintType,Object>(1); 
hints.put(EncodeHintType.DATA_MATRIX_SHAPE,SymbolShapeHint.FORCE_RECTANGLE); 

MultiFormatWriter writer = new MultiFormatWriter(); 
BitMatrix   result = writer.encode("50 digits",format,48,16,hints); 

В результате матрица данных с 16 ячейками для высоты и 35 для веса. Изменение ширины в функции кодирования не приводит к результату. Высота всегда установлена ​​на 16 ячеек.

Спасибо за ваше время

ответ

0

Одним из способов является раздуть данные с пробелами до нужной длины (например, 70 символов дают хороший 16 * 48 рисунок).

Однако это приведет к минимальной коррекции ошибок, поскольку все доступное пространство будет заполнено данными.

Лучший способ для обеспечения MIN_SIZE и MAX_SIZE как это not deprecated for Data Matrix:

hints.put(EncodeHintType.MIN_SIZE, new Dimension(48, 16)); 
hints.put(EncodeHintType.MAX_SIZE, new Dimension(48, 16));