From 79538bfe158a65726c07ef70fa8bc5c5d5efb6d8 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 7 Feb 2024 18:30:25 +0100 Subject: [PATCH] add convert image only for gray --- src/kds_s2000w_handler.c | 15 +++++++++++++++ src/kds_s2000w_net.c | 3 +++ 2 files changed, 18 insertions(+) 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; -- 2.39.5