| | |
| | | ShowText :=_Msg('檔案加入中,請稍候('+inttostr(i)+'/'+inttostr(P)+')'); |
| | | DataLoading(True,True); |
| | | ISB.LoadFromFile(FName,i); |
| | | //ISB.SaveToFile('C:\OCX\aaaaaa'+IntToStr(i)+'.tif'); |
| | | DeskewImg(ISB.Graphic); |
| | | //ISB.SaveToFile('C:\OCX\bbbbbb'+IntToStr(i)+'.tif'); |
| | | if (TreeView1.Selected = NewTreeNode) or (TreeView1.Selected = MyTreeNode1) then |
| | | begin |
| | | SaveFilename := ''; |
| | | MpsGetBarcode(ISB.Graphic,MpsBarcodeinf); |
| | | for n := 1 to MpsBarcodeinf.Count-1 do |
| | | for n := 1 to MpsBarcodeinf.Count do |
| | | begin |
| | | if MpsBarcodeinf.r180[n] <> 0 then //依條碼角度轉影像 |
| | | begin |
| | |
| | | SaveFilename:= Add_Zoo(ContextList.Count+1,3)+ext |
| | | Else |
| | | SaveFilename := Add_Zoo(ContextList.Count+1,3)+'_'+SaveFilename+ext; |
| | | |
| | | for n := 1 to MpsBarcodeinf.Count do |
| | | begin |
| | | if MpsBarcodeinf.r180[n] <> 0 then //依條碼角度轉影像 |
| | | begin |
| | | Rotate(ISB.Graphic,MpsBarcodeinf.r180[n]); |
| | | MpsGetBarcode(ISB.Graphic,MpsBarcodeinf); |
| | | Break; |
| | | end; |
| | | end; |
| | | //Rotate(ISB.Graphic,MpsBarcodeinf.r180[n]); //20170705 加入有條碼就轉正 |
| | | ISB.SaveToFile(SavePath+SaveFilename); |
| | | |
| | | SetContextList('A',-1,CaseID,DocDir,SaveFilename); |
| | |
| | | SaveFilename := Add_Zoo(ContextList.Count+1,3)+'_'+NowFormCode+ext |
| | | else |
| | | SaveFilename := Add_Zoo(ContextList.Count+1,3)+ext; |
| | | |
| | | for n := 1 to MpsBarcodeinf.Count do |
| | | begin |
| | | if MpsBarcodeinf.r180[n] <> 0 then //依條碼角度轉影像 |
| | | begin |
| | | Rotate(ISB.Graphic,MpsBarcodeinf.r180[n]); |
| | | MpsGetBarcode(ISB.Graphic,MpsBarcodeinf); |
| | | Break; |
| | | end; |
| | | end; |
| | | //Rotate(ISB.Graphic,MpsBarcodeinf.r180[n]); //20170705 加入有條碼就轉正 |
| | | ISB.SaveToFile(SavePath+SaveFilename); |
| | | ContextList.Add(SaveFilename); |
| | | ContextList.SaveToFile(SavePath+'Context.dat'); |
| | |
| | | 'FIsExternal='+ FIsExternal+#10#13+ |
| | | 'FCheck_main_form='+ FCheck_main_form); |
| | | |
| | | { ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+ |
| | | 'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+ |
| | | 'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+ |
| | | 'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y)); |
| | | } |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.Button4Click(Sender: TObject); |
| | |
| | | ScanInfo.Graphic := TTiffGraphic.Create; |
| | | try |
| | | ISB := nil; //規零 |
| | | //ShowMessage(IntToStr(ScanDpi)); |
| | | Scanner.RequestedXDpi := ScanDpi; |
| | | Scanner.RequestedYDpi := ScanDpi; |
| | | Scanner.RequestedImageFormat := ScanColor; |
| | |
| | | W,H : Integer; |
| | | begin |
| | | Result := 0; |
| | | //ShowMessage('GetSiteOMR'); |
| | | |
| | | IF (ImageScrollBox1.FileName <> FileName) and (FileName <> '') then |
| | | begin |
| | | //ShowMessage('11111'+ImageScrollBox1.FileName+#10#13+FileName); |
| | | ImageScrollBox1.LoadFromFile(FileName,1); |
| | | FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'NONE'); |
| | | { |
| | | ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+ |
| | | 'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+ |
| | | 'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+ |
| | | 'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y)); |
| | | FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,''); |
| | | ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+ |
| | | 'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+ |
| | | 'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+ |
| | | 'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y)); |
| | | } |
| | | ClearLine(ISB_BW.Graphic,bt); |
| | | ISB_BW.Redraw(True); |
| | | Application.ProcessMessages; |
| | | end; |
| | | If ImageScrollBox1.FileName <> '' Then |
| | | begin |
| | | |
| | | //ShowMessage('22222'+ImageScrollBox1.FileName); |
| | | Xdpi := ImagescrollBox1.Graphic.XDotsPerInch; |
| | | Ydpi := ImagescrollBox1.Graphic.YDotsPerInch; |
| | | H := ImageScrollBox1.Graphic.Height; |
| | | W := ImageScrollBox1.Graphic.Width; |
| | | //ShowMessage('Xdpi='+IntToStr(Xdpi)+#10#13+'Ydpi='+IntToStr(Ydpi)+#10#13+'H='+IntToStr(H)+#10#13+'W='+IntToStr(W)+#10#13); |
| | | //ShowMessage('Site='+Site); |
| | | OMRRect := CM_Str2Rect(Site,Xdpi,UpLPoint); |
| | | //ShowMessage(IntToStr(OMRRect.Left)+#10#13+IntToStr(OMRRect.top)+#10#13+IntToStr(OMRRect.Right)+#10#13+IntToStr(OMRRect.Bottom)); |
| | | if OMRRect.Left < 0 then |
| | | OMRRect.Left := 0; |
| | | if OMRRect.Top < 0 then |
| | |
| | | OMRRect.Bottom := ImageScrollBox1.Graphic.Height; |
| | | |
| | | result := Get_OMR(ISB_BW.Graphic,OMRRect); |
| | | //ShowMessage('result='+IntToStr(result)); |
| | | end; |
| | | end; |
| | | |
| | |
| | | DeviceDeleteSize := ini.ReadInteger('DeviceDelete','Size_New',Def_DeviceDeleteSize); |
| | | ScannerReverse := ini.ReadBool('Scanner','Reverse',Def_ScannerReverse); |
| | | BoardClear := ini.ReadBool('Scanner','BoardClear',Def_BoardClear); |
| | | ScanDpi := ini.ReadInteger('Scanner','Dpi',Def_ScanDpi); |
| | | //ScanDpi := ini.ReadInteger('Scanner','Dpi',Def_ScanDpi); |
| | | //ScanDuplex := ini.ReadBool('Scanner','Duplex',Def_ScanDuplex); |
| | | ScanRotate := ini.ReadInteger('Scanner','ScanRotate',Def_ScanRotate); |
| | | ScanDeskew := ini.ReadBool('Scanner','ScanDeskew',Def_ScanDeskew); |
| | |
| | | ini.WriteInteger('DeviceDelete','Size_New',DeviceDeleteSize); |
| | | ini.WriteBool('Scanner','Reverse',ScannerReverse); |
| | | ini.WriteBool('Scanner','BoardClear',BoardClear); |
| | | ini.ReadInteger('Scanner','Dpi',ScanDpi); |
| | | //ini.ReadInteger('Scanner','Dpi',ScanDpi); |
| | | //ini.WriteBool('Scanner','Duplex',ScanDuplex); |
| | | ini.WriteInteger('Scanner','ScanRotate',ScanRotate); |
| | | ini.WriteBool('Scanner','ScanDeskew',ScanDeskew); |
| | |
| | | ErrlistForm : TErrlistForm; |
| | | S : TStringlist; |
| | | UpFormID : String; |
| | | Anchor : String; |
| | | begin |
| | | ShowText := _Msg('處理檢核失敗中,請稍候'); |
| | | DataLoading(True,True); |
| | |
| | | end; |
| | | end; |
| | | |
| | | Function TCB_IMGPSScanX.Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像 |
| | | Function TCB_IMGPSScanX.Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像 20170639 發現沒用到 |
| | | var |
| | | XT : TXMLTool; |
| | | i : Integer; |
| | |
| | | //20131203 yuu說不檢查這個,先拿掉 20170315 楷琳說未歸類要擋 |
| | | if FCheck_main_form='Y' then |
| | | begin |
| | | if (FMode <> 'SSCAN') then //簽署章件會換主FormID,先跳過 |
| | | if (FMode <> 'SSCAN') AND (FMode<>'ESCAN') then //簽署章件會換主FormID,先跳過 20170629 ESCAN 也不檢查 |
| | | begin |
| | | ErrStr:=_Msg('找不到分案文件'); //找不到主文件 |
| | | OMRErr2ini(CaseID,ErrStr,'','','','','','',False,False,True); |
| | |
| | | SiteRec := SiteRec+'@'+Site; |
| | | //有填就ok |
| | | //Showmessage(ColCName +','+ inttostr(OMRMpsV1.GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site))+','+inttostr(Pixel + SafePixel)); |
| | | //SafePixel:=90000; |
| | | //ShowMessage(ColEName+' '+ColCName+' 圖像實際點數='+IntToStr(GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site,Bt))+' 設定點數='+IntToStr( (Pixel + SafePixel))); |
| | | if GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site,Bt) > (Pixel + SafePixel) then |
| | | begin |
| | | //Showmessage('oh'); |
| | |
| | | DenialTimeLb.Visible := True; |
| | | DenialTimeLb.Caption := Format(ScanDenialHint,[ScanDenialTime]); |
| | | end; |
| | | |
| | | //ShowMessage(IntToStr(ScanDpi)); |
| | | R_W_Scanini('R'); //掃瞄設定的ini |
| | | //ShowMessage(IntToStr(ScanDpi)); |
| | | ScanDuplexCB.Checked := ScanDuplex; |
| | | if FMode <> 'SAMPLESCAN' then |
| | | LoadImgFile; |
| | |
| | | ShowText := CaseID+_Msg('資料上傳中,請稍候'); |
| | | DataLoading(True,True); |
| | | //ShowMessage('NNNNN'); |
| | | //ShowMessage('退出'); |
| | | //Exit; |
| | | //ShowMessage('退出');DataLoading(False,False);Exit; |
| | | If Not TransCaseID(TransPath,CaseID,True) Then //傳送案件 |
| | | begin |
| | | DataLoading(False,False); |