| | |
| | | "OMR 檢核" |
| | | ], |
| | | "deps": [ |
| | | "ClearLine", |
| | | "FindPoint", |
| | | "GetSiteOMR", |
| | | "Get_OMR", |
| | |
| | | "UIView.toolBar" |
| | | ], |
| | | "deps": [ |
| | | "BWTif2Jpg", |
| | | "FileExists", |
| | | "LoadFromFile", |
| | | "SaveToFile", |
| | |
| | | ], |
| | | "deps": [ |
| | | "DirectoryExists", |
| | | "FieldMask", |
| | | "FileExists", |
| | | "FindPoint", |
| | | "LoadFromFile", |
| | | "SaveAnnotation", |
| | | "Str2Dir", |
| | | "_DelTree" |
| | | ], |
| | |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 LASTEST_FORM_INF 最新表單版本資訊(模式 7)。方法會獲取各 |
| | | 文件編號對應的最新表單 ID 與版本號,並儲存於 LASTEST_FORM_INF_List。此 |
| | | 資訊用於確保使用者掃瞄的是最新版表單,或是用於舊案件轉檔時的版本對照。 |
| | | 資訊用於確保使用者掃瞄的是最新版表單,或是用於舊案件轉檔時與歷史版本 |
| | | 對照。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf7 : Boolean; //取系統設定資訊mode5 LASTEST_FORM_INF |
| | | var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:GetSiteOMR |
| | | 引用相依:FindPoint, GetSiteOMR, Get_OMR, LoadFromFile |
| | | 方法描述:在指定影像文件的特定座標執行 OMR (光學標記辨識)。核心邏輯包含: |
| | | 1. 檢查並載入影像檔(若尚未載入),並呼叫 ClearLine 初始化黑白緩衝區。 |
| | | 2. 讀取影像的 DPI 與寬高資訊。 |
| | | 3. 使用 CM_Str2Rect 將 Site 字串轉為 TRect 矩陣,並參考定位點 (UpLPoi |
| | | nt) 進行位移計算。 |
| | | 4. 限制辨識區域座標不超出影像邊界。 |
| | | 5. 呼叫 Get_OMR 對黑白圖形緩衝區執行辨識並返回結果值(通常為 1 或 0)。 |
| | | 此方法是自動化資料檢核的重要工具。 |
| | | 引用相依:ClearLine, FindPoint, GetSiteOMR, Get_OMR, LoadFromFile |
| | | 方法描述:在影像指定座標執行 OMR 辨識。載入影像、計算相對於定位點的座標偏移、限制 |
| | | 邊界並呼叫核心辨識程式獲取結果。 |
| | | ============================================================================== } |
| | | function TCB_IMGPSScanX.GetSiteOMR(FileName,Site:String;bt: Integer): Integer; |
| | | var |
| 比對新檔案 |
| | |
| | | ```mermaid |
| | | flowchart TD |
| | | Start([開始]) --> CheckFile{影像是否已載入?} |
| | | CheckFile -- 否 --> LoadImg[從檔案載入影像並清除緩衝線] |
| | | CheckFile -- 是 --> GetInfo[獲取影像 DPI 與寬高資訊] |
| | | |
| | | LoadImg --> GetInfo |
| | | GetInfo --> CalcRect[將 Site 字串轉為座標矩陣, 並參考定位點位移] |
| | | CalcRect --> BoundCheck[限制座標不超出影像邊界] |
| | | BoundCheck --> GetOMR[呼叫 Get_OMR 執行辨識] |
| | | GetOMR --> ReturnResult[返回辨識結果] --> End([結束]) |
| | | ``` |
| | |
| | | 方法名稱: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 |
| | |
| | | 方法名稱:StatrTwainScan |
| | | 引用相依:OnAcquire, Scanner, Scanner.AcquireWithSourceOpen, Scanner.CloseSour |
| | | ce, Scanner.OpenSource, StatrTwainScan, TTiffGraphic |
| | | 方法描述:啟動 TWAIN 掃瞄流程。此方法首先檢查掃瞄器驅動是否已安裝,接著初始化 Sc |
| | | anInfo 結構並設定掃瞄參數(如 DPI、影像格式、是否顯示 UI、雙面掃瞄模式、 |
| | | 亮度與對比)。流程中會開啟掃瞄來源,呼叫 AcquireWithSourceOpen 執行實際 |
| | | 掃瞄作業,並利用 try...finally 確保不論掃瞄成功與否,最終都會關閉掃瞄 |
| | | 來源並釋放資源。 |
| | | 方法描述:啟動 TWAIN 掃描流程。檢查驅動是否安裝,初始化 ScanInfo 並設定 DPI、影像 |
| | | 格式、UI 顯示及雙面掃描模式。執行 AcquireWithSourceOpen 並利用 try...f |
| | | inally 確保資源釋放。 |
| | | ============================================================================== } |
| | | procedure TCB_IMGPSScanX.StatrTwainScan; |
| | | var ScanInfo : TScanInfo; |
| | |
| | | { ============================================================================== |
| | | 方法名稱:OnAcquire |
| | | 引用相依:OnAcquire, TJpegGraphic, TTiffGraphic |
| | | 方法描述:掃瞄影像獲取後的回呼處理函數。核心邏輯包含: |
| | | 1. 將獲取的 DIB 句柄轉為影像對象並設定 DPI。 |
| | | 2. 依影像格式執行對應處理:黑白影像會進行條碼辨識、依條碼角度旋轉、影像 |
| | | 反向、傾斜矯正及清黑邊;全彩或灰階影像則設定 JPEG 壓縮品質。 |
| | | 3. 檢查是否需要進行 A3 切割為 A4 的處理。 |
| | | 4. 透過 Deletepage 檢查並過濾空白頁(依據檔案大小)。 |
| | | 5. 對於有效影像,更新 UI 顯示並呼叫 PageEnd 決定儲存路徑與檔名,最後依 |
| | | 副檔名儲存為 TIFF 或 JPEG 並呼叫 PageDone 完成頁面流程。 |
| | | 方法描述:掃描影像獲取後的回調處理。處理 DIB 句柄、設定 DPI、執行條碼辨識、影像旋 |
| | | 轉、反向、去偏斜及清黑邊。支援 A3 裁切判定與空白頁過濾。 |
| | | ============================================================================== } |
| | | procedure TCB_IMGPSScanX.OnAcquire( const DibHandle : THandle; |
| | | const XDpi : Word; |
| | |
| | | { ============================================================================== |
| | | 方法名稱:PageDone |
| | | 引用相依:LoadFromFile, PageDone |
| | | 方法描述:完成單頁影像處理後的 UI 更新邏輯。此方法會遞增掃瞄影像總計數,並根據目 |
| | | 前的掃瞄模式(新建、取代、插入或取樣)將儲存好的影像檔載入到對應的 Image |
| | | ScrollBox 元件中。在新建模式下,還會根據 ScanImgShowMode 設定決定影像 |
| | | 顯示的品質(反鋸齒開啟與否)與縮放模式(zmFittopage),確保使用者能即時預 |
| | | 覽掃瞄結果。 |
| | | 方法描述:單頁影像處理後的 UI 更新。累加計數,根據模式(新建、取代、插入、取樣)將影 |
| | | 像載入對應的顯示元件,並依設定調整反鋸齒與縮放。 |
| | | ============================================================================== } |
| | | procedure TCB_IMGPSScanX.PageDone; |
| | | Var |
| | |
| | | 方法名稱:PageEnd |
| | | 引用相依:DirectoryExists, GetNoNameCase, PageEnd, SaveToFile, Str2Dir, _DelTr |
| | | ee |
| | | 方法描述:管理掃瞄影像的儲存路徑與檔案命名規則。主要邏輯如下: |
| | | 1. 辨識條碼以取得 FormID,並判斷是否為導引頁或分案頁。 |
| | | 2. 若偵測到分案頁,會重置計數並嘗試取得新的案件編號(CaseID)。 |
| | | 3. 確定儲存目錄,包含處理「分份數」邏輯(依 DocNoNeedDiv 決定是否建立新 |
| | | 子目錄)。 |
| | | 4. 根據目前頁數與 FormID 產生標準化的檔名(如補零序號_FormID.tif)。 |
| | | 5. 更新 ContextList(影像索引資訊)並在掃瞄新案件時更新 TreeView UI 結 |
| | | 構。此方法確保每張影像都能正確歸類到對應的案件與文件目錄下。 |
| | | 方法描述:管理影像儲存路徑與命名。辨識條碼區分表單、導引頁或分案頁;處理分份邏輯 |
| | | 與自動建立目錄,並更新樹狀結構索引。 |
| | | ============================================================================== } |
| | | procedure TCB_IMGPSScanX.PageEnd; |
| | | Var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:R_W_Scanini |
| | | 引用相依:Scanner |
| | | 方法描述:讀取或寫入掃瞄設定檔(FBScan.ini)。此方法使用 Tinifile 物件處理掃瞄相 |
| | | 關參數的 I/O 作業。當 Mode 為 'R' 時,從設定檔讀取包含空白頁刪除設定、 |
| | | 影像反向、清黑邊、旋轉角度、傾斜矯正、亮度對比以及 UI 顯示模式等參數;當 |
| | | Mode 為 'W' 時,則將目前的系統變數值回寫至設定檔中,以利下次啟動時恢復 |
| | | 使用者的個性化設定。 |
| | | 方法描述:讀取或寫入 FBScan.ini。處理包含空白頁刪除、影像反向、清黑邊、旋轉、去偏斜 |
| | | 、亮度對比及顯示模式等掃描參數。 |
| | | ============================================================================== } |
| | | Procedure TCB_IMGPSScanX.R_W_Scanini(Mode:Char); //'R'讀取;'W'寫入 |
| | | var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:GetDefScanIni |
| | | 引用相依:FJpgCompression, Rotate, Scanner |
| | | 方法描述:從資料庫參數清單(WORK_INF_List)初始化並設定掃瞄的系統預設值。流程首先 |
| | | 設定一組程式內建的預設數值,隨後遍歷 WORK_INF_List 並比對 PARA_NO 關 |
| | | 鍵字,動態更新包含:空白頁判斷大小、影像是否反相、清黑邊、掃瞄 DPI、雙面掃 |
| | | 瞄開啟、影像旋轉角度、傾斜矯正、亮度對比、影像儲存路徑、導引頁與分案頁代 |
| | | 碼列表、以及 JPEG 壓縮品質等關鍵參數。這使得掃瞄行為可以透過後台設定進 |
| | | 行彈性調整。 |
| | | 方法描述:從資料庫參數清單初始化掃描預設值。設定 DPI、雙面模式、旋轉角度、路徑、導 |
| | | 引頁及分案頁代碼等關鍵系統變數。 |
| | | ============================================================================== } |
| | | Procedure TCB_IMGPSScanX.GetDefScanIni; //取得掃瞄的預設值 |
| | | var |
| | |
| | | { ============================================================================== |
| | | 方法名稱:initkscan |
| | | 引用相依:Scanner, Scanner.CloseSource, Scanner.OpenSource, initkscan |
| | | 方法描述:初始化並偵測掃瞄器硬體能力。此方法會先將雙面掃瞄勾選框(ScanDuplexCB) |
| | | 設為停用,接著嘗試開啟掃瞄來源(OpenSource),檢查掃瞄器是否支援雙面掃瞄 |
| | | 功能(DuplexCap > 0)。如果硬體支援,則啟用 UI 上的勾選框供使用者選擇。最 |
| | | 後確保關閉掃瞄來源,若過程中發生異常,會呼叫 DataLoading(False,True) |
| | | 停止載入狀態提示。 |
| | | 方法描述:偵測掃描器硬體能力。嘗試開啟掃描來源以檢查是否支援雙面掃描 (DuplexCap |
| | | ),並據此啟用 UI 控制項。 |
| | | ============================================================================== } |
| | | procedure TCB_IMGPSScanX.initkscan; |
| | | begin |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:Case2Mask |
| | | 引用相依:DirectoryExists, FileExists, FindPoint, LoadFromFile, Str2Dir, _DelT |
| | | ree |
| | | 引用相依:DirectoryExists, FieldMask, FileExists, FindPoint, LoadFromFile, Sav |
| | | eAnnotation, Str2Dir, _DelTree |
| | | 方法描述:產生案件的遮罩影像(用於遮蔽敏感個資)。讀取 Context.dat,針對每張影像尋 |
| | | 找定位點,並依據對應表單的 XML 定義執行區域遮罩,最後存入指定目錄。 |
| | | ============================================================================== } |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:SampleScanBtnClick |
| | | 引用相依:FileExists, LoadFromFile, SaveToFile, StatrTwainScan, upFile |
| | | 引用相依:BWTif2Jpg, FileExists, LoadFromFile, SaveToFile, StatrTwainScan, upF |
| | | ile |
| | | 方法描述:處理「範本掃瞄」按鈕點擊。切換為範本模式並引導使用者輸入 FormID,掃瞄後 |
| | | 產生 TIF 與 JPG 影像。隨後透過 HTTPS 將範本上傳至伺服器,上傳過程中會 |
| | | 嚴格檢查網路狀態、Session 有效性與伺服器回傳結果。 |
| | |
| | | [V],"Button6Click","CB_IMGPSScanImp.pas.bk","598","Rotate","","BarCodeRotate : Integer; //æ¢ç¢¼è¦è½çè§åº¦" |
| | | [V],"Button6Click","CB_IMGPSScanImp.pas.bk","615","FJpgCompression","","FJpgCompression:integer;// 20171211 jpg to tif çå£ç¸®ç" |
| | | [V],"GetSiteOMR","CB_IMGPSScanImp.pas.bk","674","GetSiteOMR","","function GetSiteOMR(FileName, Site: String;bt: Integer): Integer;" |
| | | [V],"ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","742","ImageResize","","Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","742","ImageReSize_FormID","","Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","743","ImageResize","","Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","742","ImageResize","","Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","743","ImageReSize_tmp","","Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","743","ImageResize","","Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"CheckNeedCrop","CB_IMGPSScanImp.pas.bk","804","CheckNeedCrop","","Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å" |
| | | [V],"CheckNeedCrop","CB_IMGPSScanImp.pas.bk","804","TDibGraphic","","Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å" |
| | | [V],"Initialize","CB_IMGPSScanImp.pas.bk","1044","TDibGraphic","","EnPrint, { for TEnvisionPrintMode, TDibGraphicPrinter }" |
| | |
| | | [V],"TCB_IMGPSScanX.PM302Click","CB_IMGPSScanImp.pas.bk","3483","ifGray256","","ScanColor := ifGray256;" |
| | | [V],"TCB_IMGPSScanX.PM303Click","CB_IMGPSScanImp.pas.bk","3492","ifTrueColor","","ScanColor := ifTrueColor;" |
| | | [V],"TCB_IMGPSScanX.PM510Click","CB_IMGPSScanImp.pas.bk","3664","DeskewImg","","DeskewImg(DisplayISB.Graphic);" |
| | | [V],"TCB_IMGPSScanX.SampleScanBtnClick","CB_IMGPSScanImp.pas.bk","4015","BWTif2Jpg","","BWTif2Jpg(ImageScrollBox1.Graphic);" |
| | | [V],"TCB_IMGPSScanX.StatrTwainScan","CB_IMGPSScanImp.pas.bk","4402","TTiffGraphic","","ScanInfo.Graphic := TTiffGraphic.Create;" |
| | | [V],"TCB_IMGPSScanX.OnAcquire","CB_IMGPSScanImp.pas.bk","4455","TTiffGraphic","","iGraphic,iGraphic_First,iGraphic_sec : TTiffGraphic;" |
| | | [V],"TCB_IMGPSScanX.OnAcquire","CB_IMGPSScanImp.pas.bk","4457","TJpegGraphic","","JpgGr : TJpegGraphic;" |
| | |
| | | [V],"Deletepage","CB_IMGPSScanImp.pas.bk","4659","SaveQuality","","JpgGr.SaveQuality := FJpgCompression;" |
| | | [V],"TCB_IMGPSScanX.GetSiteOMR","CB_IMGPSScanImp.pas.bk","5173","GetSiteOMR","","function TCB_IMGPSScanX.GetSiteOMR(FileName,Site:String;bt: Integer): Integer;" |
| | | [V],"TCB_IMGPSScanX.GetSiteOMR","CB_IMGPSScanImp.pas.bk","5191","FindPoint","","FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'');" |
| | | [V],"TCB_IMGPSScanX.GetSiteOMR","CB_IMGPSScanImp.pas.bk","5197","ClearLine","","ClearLine(ISB_BW.Graphic,bt);" |
| | | [V],"TCB_IMGPSScanX.GetSiteOMR","CB_IMGPSScanImp.pas.bk","5222","Get_OMR","","result := Get_OMR(ISB_BW.Graphic,OMRRect);" |
| | | [V],"TCB_IMGPSScanX.GetDefScanIni","CB_IMGPSScanImp.pas.bk","5366","Rotate","","Else if GetSQLData(WORK_INF_List,'PARA_NO',i) = 'SCAN_ROTATE_MODE' Then //æçææè½è§åº¦" |
| | | [V],"TCB_IMGPSScanX.GetDefScanIni","CB_IMGPSScanImp.pas.bk","5462","FJpgCompression","","FJpgCompression := StrToInt(PARA_CONTENT);" |
| | | [V],"TCB_IMGPSScanX.CaseReSize","CB_IMGPSScanImp.pas.bk","6336","ImageResize","","ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.CaseReSize","CB_IMGPSScanImp.pas.bk","6336","ImageReSize_FormID","","ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","6343","ImageResize","","Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.CaseReSize","CB_IMGPSScanImp.pas.bk","6336","ImageResize","","ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","6343","ImageReSize_FormID","","Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","6343","ImageResize","","Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»å縮æ¾" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","6376","FindPoint","","//FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH);" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_FormID","CB_IMGPSScanImp.pas.bk","6379","CheckSize","","SizeStr := CheckSize(ISB_BW,UpLPoint,UpRPoint,DownLPoint,DW,DH);" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","6421","ImageResize","","Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","6421","ImageReSize_tmp","","Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","6421","ImageResize","","Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª)" |
| | | [V],"TCB_IMGPSScanX.ImageReSize_tmp","CB_IMGPSScanImp.pas.bk","6437","CheckSize","","SizeStr := CheckSize(ImageScrollBox1,UpLPoint,UpRPoint,DownLPoint,DW,DH);" |
| | | [V],"TCB_IMGPSScanX.ImageScrollBox1NewGraphic","CB_IMGPSScanImp.pas.bk","6447","TDibGraphic","","procedure TCB_IMGPSScanX.ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);" |
| | | [V],"TCB_IMGPSScanX.ImageScrollBox1NewGraphic","CB_IMGPSScanImp.pas.bk","6453","ConvertToBW","","ConvertToBW(ISB_BW.Graphic);" |
| | |
| | | [V],"TCB_IMGPSScanX.initParameter","CB_IMGPSScanImp.pas.bk","9301","ifTrueColor","","ScanColor := ifTrueColor ;" |
| | | [V],"TCB_IMGPSScanX.SmoothCBClick","CB_IMGPSScanImp.pas.bk","9927","Image_Smooth","","Image_Smooth(ISB1.Graphic);" |
| | | [V],"TCB_IMGPSScanX.Case2Mask","CB_IMGPSScanImp.pas.bk","9962","FindPoint","","//ParserPoint(CropMpsV.FindPoint(Anchor));" |
| | | [V],"TCB_IMGPSScanX.Case2Mask","CB_IMGPSScanImp.pas.bk","9985","FieldMask","","FieldMask(ImageScrollBox1,SiteList.Text,'Mask',UpLPoint);" |
| | | [V],"TCB_IMGPSScanX.Case2Mask","CB_IMGPSScanImp.pas.bk","9987","SaveAnnotation","","SaveAnnotation(ImageScrollBox1,DePath+S.Strings[i]);" |
| | | [V],"TCB_IMGPSScanX.CheckNeedCrop","CB_IMGPSScanImp.pas.bk","9996","CheckNeedCrop","","Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å" |
| | | [V],"TCB_IMGPSScanX.CheckNeedCrop","CB_IMGPSScanImp.pas.bk","9996","TDibGraphic","","Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å" |
| | | [V],"TCB_IMGPSScanX.PrintImg","CB_IMGPSScanImp.pas.bk","10223","TDibGraphic","","GraphicPrinter : TDibGraphicPrinter;" |
| | | [V],"PrintWithManualPrintJob","CB_IMGPSScanImp.pas.bk","10241","TDibGraphic","","property of the TDibGraphicPrinter object is used to specify the" |
| | | [V],"PrintWithAutoPrintJob","CB_IMGPSScanImp.pas.bk","10274","TDibGraphic","","GraphicPrinter := TDibGraphicPrinter.Create;" |
| | | [V],"TCB_IMGPSScanX.OMRCheckCase","CB_IMGPSScanImp.pas.bk","12510","ImageResize","","ImageReSize_FormID(CaseID,OMRFile);" |
| | | [V],"PrintWithAutoPrintJob","CB_IMGPSScanImp.pas.bk","10286","Watermark","","watermark2(Image1.Picture.Bitmap,70,'',ImageScrollBox1.DisplayedGraphic);" |
| | | [V],"PrintWithAutoPrintJob","CB_IMGPSScanImp.pas.bk","10286","Watermark2","","watermark2(Image1.Picture.Bitmap,70,'',ImageScrollBox1.DisplayedGraphic);" |
| | | [V],"TCB_IMGPSScanX.OMRCheckCase","CB_IMGPSScanImp.pas.bk","12510","ImageReSize_FormID","","ImageReSize_FormID(CaseID,OMRFile);" |
| | | [V],"TCB_IMGPSScanX.OMRCheckCase","CB_IMGPSScanImp.pas.bk","12510","ImageResize","","ImageReSize_FormID(CaseID,OMRFile);" |
| | | [V],"TCB_IMGPSScanX.OMRCheckCase","CB_IMGPSScanImp.pas.bk","12545","GetSiteOMR","","//Showmessage(ColCName +','+ inttostr(OMRMpsV1.GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site))+','+inttostr(Pixel + SafePixel));" |
| | | [V],"TCB_IMGPSScanX.OMRCheckCase","CB_IMGPSScanImp.pas.bk","12548","FindPoint","","//FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,ANCHOR);" |
| | | [V],"TCB_IMGPSScanX.view_image_DocNo","CB_IMGPSScanImp.pas.bk","13278","DpiResize","","DpiResize(ISB.Graphic,36,False);" |
| | |
| | | [V],Button6Click,CB_IMGPSScanImp.pas.bk,598,Rotate,,BarCodeRotate : Integer; //æ¢ç¢¼è¦è½çè§åº¦ |
| | | [V],Button6Click,CB_IMGPSScanImp.pas.bk,615,FJpgCompression,,FJpgCompression:integer;// 20171211 jpg to tif çå£ç¸®ç |
| | | [V],GetSiteOMR,CB_IMGPSScanImp.pas.bk,674,GetSiteOMR,,function GetSiteOMR(FileName, Site: String;bt: Integer): Integer; |
| | | [V],ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,742,ImageResize,,Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,742,ImageReSize_FormID,,Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,743,ImageResize,,Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,742,ImageResize,,Procedure ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,743,ImageReSize_tmp,,Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,743,ImageResize,,Procedure ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],CheckNeedCrop,CB_IMGPSScanImp.pas.bk,804,CheckNeedCrop,,Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å |
| | | [V],CheckNeedCrop,CB_IMGPSScanImp.pas.bk,804,TDibGraphic,,Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å |
| | | [V],Initialize,CB_IMGPSScanImp.pas.bk,1044,TDibGraphic,,EnPrint, { for TEnvisionPrintMode, TDibGraphicPrinter } |
| | |
| | | [V],TCB_IMGPSScanX.PM302Click,CB_IMGPSScanImp.pas.bk,3483,ifGray256,,ScanColor := ifGray256; |
| | | [V],TCB_IMGPSScanX.PM303Click,CB_IMGPSScanImp.pas.bk,3492,ifTrueColor,,ScanColor := ifTrueColor; |
| | | [V],TCB_IMGPSScanX.PM510Click,CB_IMGPSScanImp.pas.bk,3664,DeskewImg,,DeskewImg(DisplayISB.Graphic); |
| | | [V],TCB_IMGPSScanX.SampleScanBtnClick,CB_IMGPSScanImp.pas.bk,4015,BWTif2Jpg,,BWTif2Jpg(ImageScrollBox1.Graphic); |
| | | [V],TCB_IMGPSScanX.StatrTwainScan,CB_IMGPSScanImp.pas.bk,4402,TTiffGraphic,,ScanInfo.Graphic := TTiffGraphic.Create; |
| | | [V],TCB_IMGPSScanX.OnAcquire,CB_IMGPSScanImp.pas.bk,4455,TTiffGraphic,,iGraphic,iGraphic_First,iGraphic_sec : TTiffGraphic; |
| | | [V],TCB_IMGPSScanX.OnAcquire,CB_IMGPSScanImp.pas.bk,4457,TJpegGraphic,,JpgGr : TJpegGraphic; |
| | |
| | | [V],Deletepage,CB_IMGPSScanImp.pas.bk,4659,SaveQuality,,JpgGr.SaveQuality := FJpgCompression; |
| | | [V],TCB_IMGPSScanX.GetSiteOMR,CB_IMGPSScanImp.pas.bk,5173,GetSiteOMR,,function TCB_IMGPSScanX.GetSiteOMR(FileName,Site:String;bt: Integer): Integer; |
| | | [V],TCB_IMGPSScanX.GetSiteOMR,CB_IMGPSScanImp.pas.bk,5191,FindPoint,,FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,''); |
| | | [V],TCB_IMGPSScanX.GetSiteOMR,CB_IMGPSScanImp.pas.bk,5197,ClearLine,,ClearLine(ISB_BW.Graphic,bt); |
| | | [V],TCB_IMGPSScanX.GetSiteOMR,CB_IMGPSScanImp.pas.bk,5222,Get_OMR,,result := Get_OMR(ISB_BW.Graphic,OMRRect); |
| | | [V],TCB_IMGPSScanX.GetDefScanIni,CB_IMGPSScanImp.pas.bk,5366,Rotate,,Else if GetSQLData(WORK_INF_List,'PARA_NO',i) = 'SCAN_ROTATE_MODE' Then //æçææè½è§åº¦ |
| | | [V],TCB_IMGPSScanX.GetDefScanIni,CB_IMGPSScanImp.pas.bk,5462,FJpgCompression,,FJpgCompression := StrToInt(PARA_CONTENT); |
| | | [V],TCB_IMGPSScanX.CaseReSize,CB_IMGPSScanImp.pas.bk,6336,ImageResize,,ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.CaseReSize,CB_IMGPSScanImp.pas.bk,6336,ImageReSize_FormID,,ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,6343,ImageResize,,Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.CaseReSize,CB_IMGPSScanImp.pas.bk,6336,ImageResize,,ImageReSize_FormID(CaseID,FileName); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,6343,ImageReSize_FormID,,Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,6343,ImageResize,,Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String); //ä¾ååå®ä½é»åç¸®æ¾ |
| | | [V],TCB_IMGPSScanX.ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,6376,FindPoint,,//FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH); |
| | | [V],TCB_IMGPSScanX.ImageReSize_FormID,CB_IMGPSScanImp.pas.bk,6379,CheckSize,,SizeStr := CheckSize(ISB_BW,UpLPoint,UpRPoint,DownLPoint,DW,DH); |
| | | [V],TCB_IMGPSScanX.ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,6421,ImageResize,,Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],TCB_IMGPSScanX.ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,6421,ImageReSize_tmp,,Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],TCB_IMGPSScanX.ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,6421,ImageResize,,Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String); //ä¾ååå®ä½é»å縮æ¾(æ«åæª) |
| | | [V],TCB_IMGPSScanX.ImageReSize_tmp,CB_IMGPSScanImp.pas.bk,6437,CheckSize,,SizeStr := CheckSize(ImageScrollBox1,UpLPoint,UpRPoint,DownLPoint,DW,DH); |
| | | [V],TCB_IMGPSScanX.ImageScrollBox1NewGraphic,CB_IMGPSScanImp.pas.bk,6447,TDibGraphic,,procedure TCB_IMGPSScanX.ImageScrollBox1NewGraphic(const Graphic: TDibGraphic); |
| | | [V],TCB_IMGPSScanX.ImageScrollBox1NewGraphic,CB_IMGPSScanImp.pas.bk,6453,ConvertToBW,,ConvertToBW(ISB_BW.Graphic); |
| | |
| | | [V],TCB_IMGPSScanX.initParameter,CB_IMGPSScanImp.pas.bk,9301,ifTrueColor,,ScanColor := ifTrueColor ; |
| | | [V],TCB_IMGPSScanX.SmoothCBClick,CB_IMGPSScanImp.pas.bk,9927,Image_Smooth,,Image_Smooth(ISB1.Graphic); |
| | | [V],TCB_IMGPSScanX.Case2Mask,CB_IMGPSScanImp.pas.bk,9962,FindPoint,,//ParserPoint(CropMpsV.FindPoint(Anchor)); |
| | | [V],TCB_IMGPSScanX.Case2Mask,CB_IMGPSScanImp.pas.bk,9985,FieldMask,,FieldMask(ImageScrollBox1,SiteList.Text,'Mask',UpLPoint); |
| | | [V],TCB_IMGPSScanX.Case2Mask,CB_IMGPSScanImp.pas.bk,9987,SaveAnnotation,,SaveAnnotation(ImageScrollBox1,DePath+S.Strings[i]); |
| | | [V],TCB_IMGPSScanX.CheckNeedCrop,CB_IMGPSScanImp.pas.bk,9996,CheckNeedCrop,,Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å |
| | | [V],TCB_IMGPSScanX.CheckNeedCrop,CB_IMGPSScanImp.pas.bk,9996,TDibGraphic,,Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //æ¯å¦æ¯A3è¦åå½±å |
| | | [V],TCB_IMGPSScanX.PrintImg,CB_IMGPSScanImp.pas.bk,10223,TDibGraphic,,GraphicPrinter : TDibGraphicPrinter; |
| | | [V],PrintWithManualPrintJob,CB_IMGPSScanImp.pas.bk,10241,TDibGraphic,,property of the TDibGraphicPrinter object is used to specify the |
| | | [V],PrintWithAutoPrintJob,CB_IMGPSScanImp.pas.bk,10274,TDibGraphic,,GraphicPrinter := TDibGraphicPrinter.Create; |
| | | [V],TCB_IMGPSScanX.OMRCheckCase,CB_IMGPSScanImp.pas.bk,12510,ImageResize,,ImageReSize_FormID(CaseID,OMRFile); |
| | | [V],PrintWithAutoPrintJob,CB_IMGPSScanImp.pas.bk,10286,Watermark,,watermark2(Image1.Picture.Bitmap,70,'',ImageScrollBox1.DisplayedGraphic); |
| | | [V],PrintWithAutoPrintJob,CB_IMGPSScanImp.pas.bk,10286,Watermark2,,watermark2(Image1.Picture.Bitmap,70,'',ImageScrollBox1.DisplayedGraphic); |
| | | [V],TCB_IMGPSScanX.OMRCheckCase,CB_IMGPSScanImp.pas.bk,12510,ImageReSize_FormID,,ImageReSize_FormID(CaseID,OMRFile); |
| | | [V],TCB_IMGPSScanX.OMRCheckCase,CB_IMGPSScanImp.pas.bk,12510,ImageResize,,ImageReSize_FormID(CaseID,OMRFile); |
| | | [V],TCB_IMGPSScanX.OMRCheckCase,CB_IMGPSScanImp.pas.bk,12545,GetSiteOMR,,//Showmessage(ColCName +','+ inttostr(OMRMpsV1.GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site))+','+inttostr(Pixel + SafePixel)); |
| | | [V],TCB_IMGPSScanX.OMRCheckCase,CB_IMGPSScanImp.pas.bk,12548,FindPoint,,//FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,ANCHOR); |
| | | [V],TCB_IMGPSScanX.view_image_DocNo,CB_IMGPSScanImp.pas.bk,13278,DpiResize,,DpiResize(ISB.Graphic,36,False); |
| | |
| | | ])).join('|') |
| | | // 您提供的關鍵字 (以 | 分隔) |
| | | const keywordsStr = Array.from(new Set([ |
| | | 'BWTif2Jpg', |
| | | 'BmpConverJpg', |
| | | 'BrightnessImg', // iis_image_process |
| | | 'CheckNeedCrop', |
| | | 'CheckSize', |
| | | 'CleanupBorder', |
| | | 'ClearLine', |
| | | 'Color2BW_RTS', // iis_image_process |
| | | 'Color2tif', |
| | | 'ConvertTo256Gray', |
| | | 'ConvertToBW', |
| | | 'ConvertToGray', |
| | | 'CreateDraft', |
| | | 'CreateNote', |
| | | 'CreateReportImg', |
| | | 'CreateReportImg_JSON', // iis_image_process |
| | | 'CreateStamp', // iis_image_process |
| | | 'CropImg', |
| | | 'DeskewImg', |
| | | 'DpiResize', |
| | | 'DrawPointLine', |
| | | 'Emboss', |
| | | 'FieldMask', |
| | | 'FilterColor', // iis_image_process |
| | | 'FindBlackPoint', // iis_image_process |
| | | 'FindPoint', |
| | | 'GetSiteOMR', |
| | | 'GetBlackSpots', // iis_image_process |
| | | 'GetExif_CaptureDateTime', |
| | | 'GetPixBW', |
| | | 'GetPosAngle', |
| | | 'GetSelectRect', |
| | | 'GetSelectRect2String', // iis_image_process |
| | | 'GetSelectRect_Back', |
| | | 'GetSelectRect_Black2String', |
| | | 'GetSiteOMR', |
| | | 'GetTag', // |
| | | 'Get_OMR', |
| | | 'Gray2BW_RTS', // iis_image_process |
| | | 'ImageResize', // iis_image_process |
| | | 'ImageProcessor.anchorAnalyzer', |
| | | 'ImageProcessor.barcodeRecognizer', |
| | | 'ImageProcessor.converter', |
| | | 'ImageProcessor.transformer', |
| | | 'ImageReSize_FormID', |
| | | 'ImageReSize_tmp', |
| | | 'ImageResize', |
| | | 'ImageResize', // iis_image_process |
| | | 'Image_Smooth', |
| | | 'JpgReSize_Exif', |
| | | 'JpgReSize_Exif', // iis |
| | | 'MpsGetBarcode', |
| | | 'NegativeImg', |
| | | 'NegativeImg', |
| | | 'PrintBarcode', // iis |
| | | 'Rotate', |
| | | 'SaveAnnotation', |
| | | 'SetSelectRect', |
| | | 'SetSelectRect_Original', |
| | | 'SetTag', // iis |
| | | 'ShowKeyinRect', // iis |
| | | 'TDibGraphic', |
| | |
| | | 'TNBCleanupBorderTransform', // iis |
| | | 'TTiffGraphic', |
| | | 'TWatermarkTransform', // iis |
| | | 'Watermark', |
| | | 'Watermark1', |
| | | 'Watermark1_Hong', // iis |
| | | 'Watermark1_Hong_New', |
| | | 'Watermark2', |
| | | |
| | | // 以下可省 |
| | | 'CleanupBorder', |
| | | 'ConvertToBW', |