ZXing 生成的 DataMatrix 条码没有边距?

No margin on DataMatrix barcodes generated by ZXing?

我试图让 DataMatrix 条形码没有边距,但它似乎不起作用,无论我输入什么数字,它仍然是相同的默认边距。有什么想法吗?

NSError * error = nil;
ZXMultiFormatWriter * writer = [ZXMultiFormatWriter writer];
ZXEncodeHints * hints = [ZXEncodeHints hints];
hints.margin = [NSNumber numberWithInteger:0];
ZXBitMatrix * result = [writer encode:barcodeString
                              format:kBarcodeFormatDataMatrix
                               width:30
                               height:30
                                hints:hints
                               error:&error];

原来是因为库无法调整大小。如果一个条形码有 10 行,那么它的大小必须是 10 像素的倍数。

如果放置 12 个像素,每边将有 1 个边距来补偿。