| | |
| | | 方法名稱:ImageReSize_FormID |
| | | 引用相依:CheckSize, FileExists, FindPoint, ImageReSize_FormID, ImageResize, L |
| | | oadFileGetMD5, LoadFromFile, SaveToFile |
| | | 方法描述:根據表單的十字定位點或邊框 (ANCHOR/FRAME) 對掃瞄影像進行縮放調整。流 |
| | | 程如下: |
| | | 1. 從 FORM_INF_List 取得表單預設高寬與定位類型。 |
| | | 2. 載入對應案件下的影像檔,若為補件模式則跳過原有圖檔。 |
| | | 3. 呼叫 FindPoint 尋找影像中的十字線或邊框。 |
| | | 4. 呼叫 CheckSize 計算偏移與縮放比例。 |
| | | 5. 呼叫 ImageResize 執行實際調整。 |
| | | 6. 成功縮放後,記錄檔案 MD5 並儲存更新後的影像,同時將操作記錄寫入 ReS |
| | | ize.dat;若定位點遺失或辨識錯誤,則記錄於 AnchorError.dat。 |
| | | 方法描述:依據定位點縮放影像。查詢表單規格,載入影像(過濾補件模式),尋找十字線或 |
| | | 邊框定位點,執行縮放並紀錄 MD5 與日誌。 |
| | | ============================================================================== } |
| | | Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //依十字定位點做縮放 |
| | | var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:ImageReSize_tmp |
| | | 引用相依:CheckSize, ImageReSize_tmp, ImageResize, LoadFromFile, SaveToFile |
| | | 方法描述:針對暫存影像檔案執行十字定位點縮放處理。此方法是 ImageReSize_FormID |
| | | 的簡化版本,主要針對暫存檔 (FileName) 與指定的 FormID。邏輯包含從資料 |
| | | 庫清單查詢表單尺寸與定位模式,若符合 ANCHOR 或 FRAME 類型,則載入影像 |
| | | 並呼叫 CheckSize 檢查是否需要調整。若偵測到影像存在偏移或比例差異(Siz |
| | | eStr 非空),則將調整後的影像直接覆蓋儲存回原始路徑。 |
| | | 方法描述:針對暫存檔執行定位點縮放。簡化版 Resize 邏輯,若偵測到尺寸偏移則直接覆 |
| | | 蓋原始檔案,用於處理臨時影像。 |
| | | ============================================================================== } |
| | | Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //依十字定位點做縮放(暫存檔) |
| | | var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:CheckNeedCrop |
| | | 引用相依:CheckNeedCrop, TDibGraphic |
| | | 方法描述:判斷掃瞄影像是否為 A3 尺寸並需要進行切割(Crop)。判定邏輯有二:首先,檢 |
| | | 查影像寬度是否大於 4 倍的 DPI 閥值,藉此初步判斷為大尺寸掃瞄件;其次, |
| | | 遍歷目前的條碼清單 (MpsBarcodeinf),統計有效的表單代碼 (FormID) 數量。 |
| | | 如果影像寬度達標且有效表單數量正好為 2,則返回 True。這代表此張大圖實 |
| | | 際上是由兩份 A4 表單併排掃瞄而成,後續需依此旗標進行影像分割處理。 |
| | | 方法描述:判斷影像是否需執行 A3 切割。依據影像寬度(大於 4 倍 DPI)及條碼清單中有 |
| | | 效表單代碼的數量(需為 2 個)作為判定據。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //是否是A3要切影像 |
| | | Var |