程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 超星格式-BMP

超星格式-BMP

編輯:C語言基礎知識

  最近,我偶然發現了一個超星 -> BMP的方法。
     首先,請下載最新的“超星3.4Beta 7”,安裝後,運行Delphi5,選擇Component->Import ActiveX Control,然後,你會發現“Import ActiveX”中有一個選擇為“Pdg2 Type Library(Version 1.0)”.....,剩下的事不用我說了吧。
     我的方法:
   procedure TMainForm.PdgToBmp(FPdgName, FBmpName: string);//FPdgname--超星格式文件名 FBmpName--要保存的BMP文件名。
   var i:integer;
       j:boolean;
   begin
       ClipBoard.Clear;
       MyPdg.LoadPage(FPdgName,0,0,10);
       Mypdg.Refresh;
       MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight); //這一操作需要一段時間
       j:=false;
       while j=false do
       begin
          MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);
          for i:=0 to clipboard.FormatCount -1 do  //檢測ClipBoard中是否有位圖,因為我在調試中發現有時執行MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);會出錯,只有檢測到有位圖存在時,再進行復制.
          if Clipboard.Formats[i]=2 then j:=true;
       end;
       Bmp.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
       bmp.PixelFormat:=pf1bit ;  
       bmp.SaveToFile(FBmpName);
   end;
     
   另外,假如對整個目錄下的文件連續進行轉換,請在相鄰兩次轉換過程中插入
       Sleep(1000);//給超星一點時間,否則她會有意見,不干活啦!!!
  
   且 Mypdg.Visible必須設置True;
  
   我發現轉為BMP後用清華OCR識別的效果並不好,假如各位有什麼高見,拿出來大伙公分享吧!!! 
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved