#ifndef WIN32 #include "readwritejsonfile.h" #include #include #include #include ReadwriteJsonFile::ReadwriteJsonFile() { } bool ReadwriteJsonFile::writeScanparams2Json(QString path, QString name, ScanParams ¶ms) { QDir filePath(path); // if(filePath.isEmpty()) // { // QMessageBox::critical(nullptr,"save failed","file path is empty"); // return false; // } QFile file(path+ "/" + name + ".json"); if(!file.open(QIODevice::ReadWrite)) { qDebug() << "File open error"; return false; } qDebug() << "file open success"; file.resize(0); QJsonObject jsonObject; jsonObject.insert("scanCount",params.scan_count); jsonObject.insert("colorMode",params.scan_mode); jsonObject.insert("paperType",params.scan_paper); jsonObject.insert("scanPreview",params.scan_preview); jsonObject.insert("bitDipth",params.scan_bit_depth); jsonObject.insert("resolution",params.scan_resolution); jsonObject.insert("scanCorectEnable",params.scan_corect_enable); jsonObject.insert("corectTLXPostion",params.scan_tl_x); jsonObject.insert("corectTLYPostion",params.scan_tl_y); jsonObject.insert("corectBRXPosition",params.scan_br_x); jsonObject.insert("corectBRYPosition",params.scan_br_y); jsonObject.insert("brightness",params.scan_brightness); jsonObject.insert("contrast",params.scan_contrast); jsonObject.insert("gamma",params.scan_gama); jsonObject.insert("autoDesCrew",params.scan_autodescrew); jsonObject.insert("fillBlack",params.scan_fillblack); jsonObject.insert("outHole",params.scan_outhole); jsonObject.insert("outHOleRation",params.scan_outholeratio); jsonObject.insert("discardBlank",params.scan_discardblank); jsonObject.insert("fold",params.scan_fold); jsonObject.insert("filter",params.scan_filter); jsonObject.insert("refuseInflow",params.scan_refuseinflow); jsonObject.insert("colorCorrect",params.scan_color_correct); jsonObject.insert("removeMoire",params.scan_removemoire); jsonObject.insert("errorExtention",params.scan_errorextention); jsonObject.insert("SharpenType",params.scan_imagesharpen); jsonObject.insert("splitImage",params.scan_splitimage); jsonObject.insert("noiseDetach",params.scan_noisedetach); jsonObject.insert("backImageRotate180",params.scan_backimagerotate180); jsonObject.insert("rotate",params.scan_rotate); jsonObject.insert("textureRemove",params.scan_texture_remove); jsonObject.insert("duplex",params.scan_duplex); jsonObject.insert("doubleFeedDetect",params.scan_doublefeeddetect); jsonObject.insert("stapleDetect",params.scan_stapledetect); jsonObject.insert("screwDetect",params.scan_screwdetect); jsonObject.insert("screwDetectLevel",params.scan_screwdetectlevel); QJsonDocument jsonDoc; jsonDoc.setObject(jsonObject); file.write(jsonDoc.toJson()); file.close(); return true; } bool ReadwriteJsonFile::readScanparamsFromJson(QString path,QString name, ScanParams ¶ms) { QDir filePath(path); if (!filePath.exists()) { QMessageBox::critical(nullptr,"Read File error","file path is empty"); return false; } QFile file(path +"/" + name + ".json"); if(!file.open(QIODevice::ReadOnly)) { qDebug()<< "open file faild:"<(obj.value("colorMode").toString().toStdString().c_str()); if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_AUTO)==0) params.scan_paper = const_cast(HG_PAGE_AUTO); else if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_A3)==0) params.scan_paper = const_cast(HG_PAGE_A3); else if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_A4)==0) params.scan_paper = const_cast(HG_PAGE_A4); else if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_A4R)==0) params.scan_paper = const_cast(HG_PAGE_A4R); else if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_A5)==0) params.scan_paper = const_cast(HG_PAGE_A5); else if(strcmp(const_cast(obj.value("paperType").toString().toStdString().c_str()),HG_PAGE_A5R)==0) params.scan_paper = const_cast(HG_PAGE_A5R); params.scan_preview = obj.value("scanPreview").toInt(); params.scan_bit_depth = obj.value("bitDipth").toInt(); params.scan_resolution = obj.value("resolution").toInt(); params.scan_corect_enable = obj.value("scanCorectEnable").toInt(); params.scan_tl_x = obj.value("corectTLXPostion").toInt(); params.scan_tl_y = obj.value("corectTLYPostion").toInt(); params.scan_br_x = obj.value("corectBRXPosition").toInt(); params.scan_br_y = obj.value("corectBRYPosition").toInt(); if(strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_NONE)==0) params.scan_filter = const_cast(FT_NONE); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_RED)==0) params.scan_filter = const_cast(FT_RED); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_GREEN)==0) params.scan_filter = const_cast(FT_GREEN); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_BLUE)==0) params.scan_filter = const_cast(FT_BLUE); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_ALL)==0) params.scan_filter = const_cast(FT_ALL); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_EN_RED)==0) params.scan_filter = const_cast(FT_EN_RED); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_EN_GREEN)==0) params.scan_filter = const_cast(FT_EN_GREEN); else if (strcmp(const_cast(obj.value("filter").toString().toStdString().c_str()),FT_EN_BLUE)==0) params.scan_filter = const_cast(FT_EN_BLUE); params.scan_brightness = obj.value("brightness").toInt(); params.scan_contrast = obj.value("contrast").toInt(); params.scan_gama = obj.value("gamma").toDouble(); params.scan_autodescrew = obj.value("autoDesCrew").toInt(); params.scan_fillblack = obj.value("fillBlack").toInt(); params.scan_outhole = obj.value("outHole").toInt(); params.scan_outholeratio = obj.value("outHOleRation").toInt(); params.scan_discardblank = obj.value("discardBlank").toInt(); params.scan_fold = obj.value("fold").toInt(); params.scan_refuseinflow = obj.value("refuseInflow").toInt(); params.scan_color_correct = obj.value("colorCorrect").toInt(); params.scan_removemoire = obj.value("removeMoire").toInt(); params.scan_errorextention = obj.value("errorExtention").toInt(); if(strcmp(const_cast(obj.value("SharpenType").toString().toStdString().c_str()),SHARPEN_NONE)==0) params.scan_imagesharpen = const_cast(SHARPEN_NONE); else if(strcmp(const_cast(obj.value("SharpenType").toString().toStdString().c_str()),SHARPEN)==0) params.scan_imagesharpen = const_cast(SHARPEN); else if(strcmp(const_cast(obj.value("SharpenType").toString().toStdString().c_str()),SHARPEN_MORE)==0) params.scan_imagesharpen = const_cast(SHARPEN_MORE); else if(strcmp(const_cast(obj.value("SharpenType").toString().toStdString().c_str()),BLUR)==0) params.scan_imagesharpen = const_cast(BLUR); else if(strcmp(const_cast(obj.value("SharpenType").toString().toStdString().c_str()),BLUR_MORE)==0) params.scan_imagesharpen = const_cast(BLUR_MORE); params.scan_splitimage = obj.value("splitImage").toInt(); params.scan_noisedetach = obj.value("noiseDetach").toInt(); params.scan_backimagerotate180 = obj.value("backImageRotate180").toInt(); if(strcmp(const_cast(obj.value("rotate").toString().toStdString().c_str()),RT_NONE)==0) params.scan_rotate = const_cast(RT_NONE); else if(strcmp(const_cast(obj.value("rotate").toString().toStdString().c_str()),RT_90)==0) params.scan_rotate = const_cast(RT_90); else if(strcmp(const_cast(obj.value("rotate").toString().toStdString().c_str()),RT_180)==0) params.scan_rotate = const_cast(RT_180); else if(strcmp(const_cast(obj.value("rotate").toString().toStdString().c_str()),RT_270)==0) params.scan_rotate = const_cast(RT_270); else if(strcmp(const_cast(obj.value("rotate").toString().toStdString().c_str()),RT_AUTO)==0) params.scan_rotate = const_cast(RT_AUTO); params.scan_texture_remove = obj.value("textureRemove").toInt(); params.scan_duplex = obj.value("duplex").toInt(); params.scan_doublefeeddetect = obj.value("doubleFeedDetect").toInt(); params.scan_stapledetect = obj.value("stapleDetect").toInt(); params.scan_screwdetect = obj.value("screwDetect").toInt(); params.scan_screwdetectlevel = obj.value("screwDetectLevel").toInt(); return true; } #endif