+ base1 += stride1;
+ base2 += stride2;
+ }
+ } else {
+ let mut pad: Vec<u8> = Vec::with_capacity(w - w2);
+ pad.resize(w - w2, 0xFF);
+ let mut base1 = buf.get_offset(1);
+ let stride1 = buf.get_stride(1);
+ for _ in 0..h2 {
+ let bend1 = base1 + w2;
+ let line = &dta[base1..bend1];
+ ofile.write_all(line).unwrap();
+ ofile.write_all(pad.as_slice()).unwrap();
+ base1 += stride1;
+ }
+ let mut base2 = buf.get_offset(2);
+ let stride2 = buf.get_stride(2);
+ for _ in 0..h2 {
+ let bend2 = base2 + w2;
+ let line = &dta[base2..bend2];
+ ofile.write_all(line).unwrap();
+ ofile.write_all(pad.as_slice()).unwrap();
+ base2 += stride2;
+ }