curtis
19小時前 5577f3ba7b9f0319c9b32d7080165207726d1f81
reassemble/img/mermaid/ImageReSize_FormID.md
@@ -1,36 +1,19 @@
```mermaid
flowchart TD
    Start([開始 ImageReSize_FormID]) --> GetFormID[獲取 FormID]
    GetFormID --> CheckID{FormID 為空?}
    CheckID -- 是 --> End([結束])
    CheckID -- 否 --> QueryDB[查詢資料庫獲取表單高寬與定位類型]
    Start([開始]) --> GetFormInfo[查詢 FORM_INF_List 取得高寬與定位類型]
    GetFormInfo --> ValidParam{是否有定位點設定?}
    
    QueryDB --> Found{找到資料?}
    Found -- 否 --> End
    Found -- 是 --> CheckType{定位類型為 ANCHOR/FRAME\n且高寬資訊完整?}
    ValidParam -- 是 --> LoadImg[載入影像檔 (補件模式則跳過)]
    ValidParam -- 否 --> End([結束])
    
    CheckType -- 否 --> End
    CheckType -- 是 --> LoadImg[載入影像檔]
    LoadImg --> FindAnchor[呼叫 FindPoint 尋找十字線或邊框定位點]
    FindAnchor --> CalcResize[呼叫 CheckSize 計算偏移與縮放比例]
    CalcResize --> PerformResize[呼叫 ImageResize 執行影像調整]
    
    LoadImg --> CheckSub{補件模式且圖檔已存在?}
    CheckSub -- 是 --> End
    CheckSub -- 否 --> FindPt1[執行定位點尋找 FindPoint]
    PerformResize --> ResizeOk{縮放是否成功?}
    ResizeOk -- 是 --> SaveImg[儲存影像, 記錄 MD5 與 ReSize.dat 日誌]
    ResizeOk -- 否 (Error) --> LogErr[將錯誤資訊寫入 AnchorError.dat]
    
    FindPt1 --> CalcSize[計算偏移與縮放比例 CheckSize]
    CalcSize --> Resize[執行影像縮放 ImageResize]
    Resize --> FindPt2[縮放後重新定位 FindPoint]
    FindPt2 --> CheckSuccess{SizeStr 有效且非 ERROR?}
    CheckSuccess -- 是 --> CheckMD5{檢查 MD5 是否重複}
    CheckMD5 --> SaveImg[儲存縮放後影像]
    SaveImg --> LogResize[記錄縮放資訊到 ReSize.dat]
    LogResize --> ClearName
    CheckSuccess -- 否 --> CheckError{SizeStr 為 ERROR?}
    CheckError -- 是 --> LogError[記錄錯誤到 AnchorError.dat]
    LogError --> ClearName
    CheckError -- 否 --> ClearName
    ClearName[清除 FileName 快取] --> End
    SaveImg --> ClearISB[清空顯示路徑] --> End
    LogErr --> ClearISB
```