From: Bastian Dehn Date: Wed, 7 Feb 2024 17:30:25 +0000 (+0100) Subject: add convert image only for gray X-Git-Tag: v1.0.0^2~322 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=79538bfe158a65726c07ef70fa8bc5c5d5efb6d8;p=sane-kds-s2000w-net.git add convert image only for gray --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 8e79b66..1ee22a8 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -77,6 +77,21 @@ void _get_current_metadata() if (current_scan_status.mdata.format == 1) channels = 3; + if (pnm_image.size > 0) { + free(pnm_image.data); + pnm_image.data = NULL; + pnm_image.size = 0; + } + if (current_scan_status.mdata.depth > 8) { + current_scan_status.mdata.depth = 8; + kds_s2000w_convert_jpg_to_pnm_With_depth(&image, &pnm_image, current_scan_status.mdata.depth); + } else { + kds_s2000w_convert_jpg_to_pnm(&image, &pnm_image); + } + + current_scan_status.mdata.size = pnm_image.size; + printf("size of pnm image: %i\n", pnm_image.size); + if (current_scan_status.mdata.depth == 1) current_scan_status.mdata.bytes_per_line = channels * ((current_scan_status.mdata.pixels_per_line + 7) / 8); else diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 90a250b..61b62c0 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -178,9 +178,11 @@ void _sane_kds_s2000w_net_cancel(SANE_Handle handle) SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, SANE_Parameters* params) { + printf("get parameters 1\n"); if (!scan_started) return SANE_STATUS_GOOD; + printf("get parameters 2\n"); for (int i = 0; i < 10; i++) { sleep(1); current_metadata = kds_s2000w_handler_get_parameters(); @@ -189,6 +191,7 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, break; } + printf("get parameters 3\n"); if (!current_metadata.valid) return SANE_STATUS_UNSUPPORTED;