genesys: Fix incorrect resolution being used in active area calibration

merge-requests/323/head
Povilas Kanapickas 2020-02-02 13:08:49 +02:00
rodzic 6bbdb7afc8
commit 91d9d8b2dc
1 zmienionych plików z 4 dodań i 4 usunięć

Wyświetl plik

@ -1725,11 +1725,11 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
if (should_calibrate_only_active_area(*dev, dev->settings)) {
float offset = static_cast<float>(get_model_x_offset_ta(*dev, dev->settings));
offset /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
offset = static_cast<float>((offset * calib_sensor.optical_res) / MM_PER_INCH);
offset = static_cast<float>((offset * resolution) / MM_PER_INCH);
float size = static_cast<float>(dev->model->x_size_ta);
size /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
size = static_cast<float>((size * calib_sensor.optical_res) / MM_PER_INCH);
size = static_cast<float>((size * resolution) / MM_PER_INCH);
dev->calib_pixels_offset = static_cast<std::size_t>(offset);
dev->calib_pixels = static_cast<std::size_t>(size);
@ -2054,11 +2054,11 @@ void CommandSetGl843::offset_calibration(Genesys_Device* dev, const Genesys_Sens
if (should_calibrate_only_active_area(*dev, dev->settings)) {
start_pixel = static_cast<int>(get_model_x_offset_ta(*dev, dev->settings));
start_pixel /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
start_pixel = static_cast<int>((start_pixel * calib_sensor.optical_res) / MM_PER_INCH);
start_pixel = static_cast<int>((start_pixel * resolution) / MM_PER_INCH);
target_pixels = static_cast<int>(dev->model->x_size_ta);
target_pixels /= calib_sensor.get_ccd_size_divisor_for_dpi(resolution);
target_pixels = static_cast<int>((target_pixels * calib_sensor.optical_res) / MM_PER_INCH);
target_pixels = static_cast<int>((target_pixels * resolution) / MM_PER_INCH);
}
ScanFlag flags = ScanFlag::DISABLE_SHADING |