增加setPrefix接口

This commit is contained in:
lovelyyoung 2023-03-15 14:59:25 +08:00
parent 90faa2ef5e
commit 9e76f2aada
1 changed files with 33 additions and 2 deletions

View File

@ -49,13 +49,23 @@ static int indexPatch=0;
std::mutex m_mutex;
static HG_CACHEIMGFORMAT m_cacheimgformat = HG_CJPG;
static std::string m_default_prefix = "1000";
static std::map< HG_CACHEIMGFORMAT, std::string> m_mapcaches = {
{HG_CJPG,".jpg"},
{HG_CPNG,".png"},
{HG_CBMP,".bmp"},
{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) {
FILE* fp = NULL;
@ -124,6 +134,7 @@ void onReceivedImage(HG_IMG* img, void* obj)
else
{
path = WChar2Ansi(outapth);
path += m_default_prefix;
path += filename;
}
#else
@ -137,7 +148,7 @@ void onReceivedImage(HG_IMG* img, void* obj)
dstdirPath = "/tmp";
}
}
path = dstdirPath + "/" + filename;
path = dstdirPath + "/" + m_default_prefix + filename;
#endif
//std::vector<int> quality;
//quality.push_back(CV_IMWRITE_JPEG_QUALITY);
@ -710,3 +721,23 @@ Java_com_huagao_scanner_DeviceManager_resetPatchIndex(JNIEnv * env, jobject thiz
indexPatch = 0;
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);
}
}