-
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识别的效果并不好,如果各位有什么高见,拿出来大伙公分享吧!!!
栏目列表
最新更新
C#基于接口设计三层架构Unity篇
C#线程 入门
C#读取静态类常量属性和值
C# 插件式编程
C# 委托与事件有啥区别?
C#队列学习笔记:队列(Queue)和堆栈(Stack
linq 多表分组左连接查询查询统计
C#队列学习笔记:MSMQ入门一
C# 基础知识系列- 1 数据类型
二、C#入门—基础语法
C# 在Word中添加Latex 数学公式和符号
inncheck命令 – 检查语法
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
SqlServer 利用游标批量更新数据
BOS只读状态修改
SQL Server等待事件—PAGEIOLATCH_EX
数据库多行转换为单一列
获取数据表最后最后访问,修改,更新,
计算经历的时间
SQL查询结果自定义排序
修改数据库默认位置
日期简单加或减
从日期获取年,月或日