畸变调整

This commit is contained in:
13038267101 2023-01-09 17:16:19 +08:00
parent 3f9afc9f0e
commit 95542b7176
1 changed files with 38 additions and 6 deletions

View File

@ -876,10 +876,25 @@ public:
{
return SCANNER_ERR_DATA_DAMAGED;
}
unsigned int len = 0;
int ret = SCANNER_ERR_OK;
wchar_t* p = (wchar_t*)data;
std::string str;
int ret = SCANNER_ERR_OK,
dpi = 0;
unsigned int len = sizeof(int);
size_t strl = 0;
ret = wchar_to_char(str, p, &strl);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
str.resize(strl);
ret = wchar_to_char(str, p, &strl);
}
if (str.empty())
{
return SCANNER_ERR_DATA_DAMAGED;
}
dpi = atoi(str.c_str());
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi, &len);
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, data, &len);
if (ret != SCANNER_ERR_OK)
{
return -1;
@ -893,12 +908,29 @@ public:
{
return SCANNER_ERR_DATA_DAMAGED;
}
int ret = SCANNER_ERR_OK,
val = 0;
wchar_t* p = (wchar_t*)data;
std::string str;
int ret = SCANNER_ERR_OK,
val = 0,
dpi = 0;
SANE_Bool type = true;
unsigned int len = sizeof(SANE_Bool),
llen = sizeof(int);
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &data, &len);
size_t strl = 0;
ret = wchar_to_char(str, p, &strl);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
str.resize(strl);
ret = wchar_to_char(str, p, &strl);
}
if (str.empty())
{
return SCANNER_ERR_DATA_DAMAGED;
}
dpi = atoi(str.c_str());
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi, &llen);
ret = helper_->io_control(IO_CTRL_CODE_SET_DISTORTION_IMAGE, &type, &len);
if (ret != SCANNER_ERR_OK)