]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
change convert bytes to pixels
authorBastian Dehn <hhaalo@arcor.de>
Thu, 6 Feb 2025 19:28:34 +0000 (20:28 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 6 Feb 2025 19:28:34 +0000 (20:28 +0100)
src/kds_s2000w_image_converter_netpbm.c

index b4672dd1bf414a825a3cd251bf60d73763f6f313..296d2663332ebabf0b76c7a60f11d0c971a8b62b 100644 (file)
@@ -146,6 +146,16 @@ unsigned char _kds_s2000w_image_converter_mirror_bits(unsigned char data)
        return mirrored;
 }
 
+void _kds_s2000w_image_converter_set_pixels(unsigned char data_byte, xel* pixels)
+{
+       unsigned char bit = 0;
+       for (int i = 0; i < BYTE_BITS; i++) {
+               bit = data_byte >> i;
+               if (bit == 0)
+                       pixels[i].b = PNM_MAXMAXVAL;
+       }
+}
+
 void _kds_s2000w_image_converter_write_bw_pnm(unsigned char* data,
        size_t size,
        int width,
@@ -163,18 +173,11 @@ void _kds_s2000w_image_converter_write_bw_pnm(unsigned char* data,
 
        int currwidth = 0;
        int currheight = 0;
-       unsigned char bit = 0;
        for (int i = 0; i < size; i++) {
                data[i] = _kds_s2000w_image_converter_mirror_bits(data[i]);
 
-               for (int j = 0; j < BYTE_BITS; j++) {
-                       bit = data[i] & 1;
-                       if (bit == 0)
-                               pixels[currheight][currwidth].b = PNM_MAXMAXVAL;
-
-                       data[i] >>= 1;
-                       currwidth++;
-               }
+               _kds_s2000w_image_converter_set_pixels(data[i], &pixels[currheight][currwidth]);
+               currwidth += BYTE_BITS;
 
                if (currwidth >= bit_witdth) {
                        currwidth = 0;