Merge pull request #34 from agkyunromb/rotate_fix&pdf417_compact_fix

fix rotate issue & fix size of pdf417_compact
This commit is contained in:
Henry A Schimke
2023-05-10 09:40:22 -05:00
committed by GitHub
3 changed files with 9 additions and 4 deletions

View File

@@ -31,13 +31,18 @@ impl BarcodeMatrix {
/**
* @param height the height of the matrix (Rows)
* @param width the width of the matrix (Cols)
* @param compact if true, enables compaction
*/
pub fn new(height: usize, width: usize) -> Self {
pub fn new(height: usize, width: usize, compact: bool) -> Self {
//Initializes the array to the correct width
let mut matrix = Vec::with_capacity(height);
for _i in 0..height {
matrix.push(BarcodeRow::new((width + 4) * 17 + 1));
if !compact {
matrix.push(BarcodeRow::new((width + 4) * 17 + 1));
} else {
matrix.push(BarcodeRow::new((width + 2) * 17 + 1));
}
}
Self {
matrix,

View File

@@ -243,7 +243,7 @@ impl PDF417 {
)?;
//4. step: low-level encoding
let mut barcode_matrix = BarcodeMatrix::new(rows as usize, cols as usize);
let mut barcode_matrix = BarcodeMatrix::new(rows as usize, cols as usize, self.compact);
self.encodeLowLevel(
&format!("{dataCodewords}{ec}"),
cols,

View File

@@ -213,7 +213,7 @@ impl PDF417Writer {
* Takes and rotates the it 90 degrees
*/
fn rotateArray(bitarray: &Vec<Vec<u8>>) -> Vec<Vec<u8>> {
let mut temp = vec![vec![0; bitarray[0].len()]; bitarray.len()];
let mut temp = vec![vec![0; bitarray.len()]; bitarray[0].len()];
for ii in 0..bitarray.len() {
// This makes the direction consistent on screen when rotating the screen;