最近,我偶然發現了一個超星 -> 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=2 then j:=true; end; Bmp.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); bmp.PixelFormat:=pf1bit ; bmp.SaveToFile(FBmpName); end;