From: Bastian Dehn Date: Thu, 6 Feb 2025 19:28:34 +0000 (+0100) Subject: change convert bytes to pixels X-Git-Tag: v1.0.32^2~2 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=1fcd30b072b4a681b1698a9668dd37fe2fb6a95e;p=sane-kds-s2000w-net.git change convert bytes to pixels --- diff --git a/src/kds_s2000w_image_converter_netpbm.c b/src/kds_s2000w_image_converter_netpbm.c index b4672dd..296d266 100644 --- a/src/kds_s2000w_image_converter_netpbm.c +++ b/src/kds_s2000w_image_converter_netpbm.c @@ -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;