This commit is contained in:
luoliangyi 2023-03-15 16:06:46 +08:00
commit a186c92a10
1 changed files with 33 additions and 2 deletions

View File

@ -49,13 +49,23 @@ static int indexPatch=0;
std::mutex m_mutex; std::mutex m_mutex;
static HG_CACHEIMGFORMAT m_cacheimgformat = HG_CJPG; static HG_CACHEIMGFORMAT m_cacheimgformat = HG_CJPG;
static std::string m_default_prefix = "1000";
static std::map< HG_CACHEIMGFORMAT, std::string> m_mapcaches = { static std::map< HG_CACHEIMGFORMAT, std::string> m_mapcaches = {
{HG_CJPG,".jpg"}, {HG_CJPG,".jpg"},
{HG_CPNG,".png"}, {HG_CPNG,".png"},
{HG_CBMP,".bmp"}, {HG_CBMP,".bmp"},
{HG_CTIFF,".tiff"} {HG_CTIFF,".tiff"}
}; };
#include <regex>
//// 使用正则表达式判断文件名是否有效(不含非法字符)
//inline bool IsValidFileName(const std::string& strFileName)
//{
// // Windows下文件名中不能包含\/:*?"<>|这些字符
// std::regex regExpress("[\\/:*?\"<>|]");
// bool bValid = !std::regex_search(strFileName, regExpress);
// return bValid;
//}
int writeimage(const char* filename, std::vector<unsigned char>& imagedata) { int writeimage(const char* filename, std::vector<unsigned char>& imagedata) {
FILE* fp = NULL; FILE* fp = NULL;
@ -124,6 +134,7 @@ void onReceivedImage(HG_IMG* img, void* obj)
else else
{ {
path = WChar2Ansi(outapth); path = WChar2Ansi(outapth);
path += m_default_prefix;
path += filename; path += filename;
} }
#else #else
@ -137,7 +148,7 @@ void onReceivedImage(HG_IMG* img, void* obj)
dstdirPath = "/tmp"; dstdirPath = "/tmp";
} }
} }
path = dstdirPath + "/" + filename; path = dstdirPath + "/" + m_default_prefix + filename;
#endif #endif
//std::vector<int> quality; //std::vector<int> quality;
//quality.push_back(CV_IMWRITE_JPEG_QUALITY); //quality.push_back(CV_IMWRITE_JPEG_QUALITY);
@ -710,3 +721,23 @@ Java_com_huagao_scanner_DeviceManager_resetPatchIndex(JNIEnv * env, jobject thiz
indexPatch = 0; indexPatch = 0;
LOG("JAVA--- clean indexPatch:%d\n", indexPatch); LOG("JAVA--- clean indexPatch:%d\n", indexPatch);
} }
extern "C"
JNIEXPORT void JNICALL
Java_com_huagao_scanner_DeviceManager_setPrefix(JNIEnv * env, jobject thiz, jstring prefix)
{
char* cName = const_cast<char*>(env->GetStringUTFChars(prefix, 0));
if (cName)
{
auto len = strlen(cName);
LOG("JAVA--- setPrefix prefix_len = %d prefix = %s \n", len, cName);
if (len > 0)
{
m_default_prefix.resize(len);
memcpy((void*)m_default_prefix.data(), cName, len);
LOG("JAVA--- setPrefix m_default_prefix = %d prefix = %s \n", m_default_prefix.length(), m_default_prefix.c_str());
}
env->ReleaseStringUTFChars(prefix, cName);
}
}