VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C/C++语言编程 >
  • c语言入门之用BCB实现超星格式转换为BMP格式

 flywolf(lywolf@ynmail.com)

  首先,请下载最新的“超星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识别的效果并不好,如果各位有什么高见,拿出来大伙公分享吧!!! 
相关教程