?? 20000925001.htm
字號:
<HTML>
<HEAD>
<TITLE>超星格式->BMP</TITLE>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR>
</HEAD>
<BODY aLink=#FF0000 bgColor=#ffffff leftMargin=0 link=#187800 topMargin=0
vLink=#990099>
<div align="center">
<table width="744" border="0" cellspacing="0" cellpadding="0" height="76">
<tr>
<td>
<h4 align=center><font size="3"><br>
超星格式->BMP</font></h4>
<h5 align=center><font size="2">flywolf(<a
href="mailto:flywolf@ynmail.com">mailto:flywolf@ynmail.com</a>)</font></h5>
<p>最近,我偶然發(fā)現(xiàn)了一個超星 -> BMP的方法。 <br>
首先,請下載最新的“超星3.4Beta 7”,安裝后,運行Delphi5,選擇Component->Import ActiveX Control,然后,你會發(fā)現(xiàn)“Import ActiveX”中有一個選擇為“Pdg2 Type Library(Version 1.0)”.....,剩下的事不用我說了吧。
<br>
我的方法: <br>
procedure TMainForm.PdgToBmp(FPdgName, FBmpName: string);//FPdgname--超星格式文件名 FBmpName--要保存的BMP文件名。
<br>
var i:integer; <br>
j:boolean; <br>
begin <br>
ClipBoard.Clear; <br>
MyPdg.LoadPage(FPdgName,0,0,10); <br>
Mypdg.Refresh; <br>
MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight); //這一操作需要一段時間
<br>
j:=false; <br>
while j=false do <br>
begin <br>
MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);
<br>
for i:=0 to clipboard.FormatCount -1 do
//檢測ClipBoard中是否有位圖,因為我在調(diào)試中發(fā)現(xiàn)有時執(zhí)行MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);會出錯,只有檢測到有位圖存在時,再進行復制.
<br>
if Clipboard.Formats[i]=2 then j:=true;
<br>
end; <br>
Bmp.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
<br>
bmp.PixelFormat:=pf1bit ; <br>
bmp.SaveToFile(FBmpName); <br>
end; <br>
<br>
另外,如果對整個目錄下的文件連續(xù)進行轉(zhuǎn)換,請在相鄰兩次轉(zhuǎn)換過程中插入 <br>
Sleep(1000);//給超星一點時間,否則她會有意見,不干活啦!!! <br>
<br>
且 Mypdg.Visible必須設(shè)置True; <br>
<br>
我發(fā)現(xiàn)轉(zhuǎn)為BMP后用清華OCR識別的效果并不好,如果各位有什么高見,拿出來大伙公分享吧!!! <br>
</p>
</td>
</tr>
</table>
</div>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -