- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯
12 GWBasic高分辨率屏幕图形的获取方法
GWBasic高分辨率屏幕图形的获取方法
默冀军
(中国工程物理研究院动力部,四川I绵阳,621900)
摘 要 怎样在WindowsXP系统下的Word文档中,嵌入DOS环境下的GWBasie高分辨率屏幕图形,
使用户原有资源得以方便利用,是 WindowsXP系统中一个非常具体的应用问题。该文针对此问题提出了可
行的解决方案,并以实现该方案的应用实例进行了交流。
关键词 DOS;GWBasic;高分辨率屏幕图形;BMP图像格式;转换
1 问题提出
接触电脑较早一点的用户都知道,GWBasic是DOS环境下的一个BASIC语言程序设计的应用编
程工具软件,它为广大编程初学者用户提供了方便入门学习的解释型编程运行环境,其简便实用的图
形功能更得到不少科技人员青睐。在Win98时代,对 GwBaSic高分辨率屏幕图形的获取是非常容易的,
即利用屏幕拷贝功能就可获取GWBasic高分辨率屏幕图形,并将其嵌入到Word文档中,方便的进行
图文混排编辑。
然而在WindowsXP系统下,却不能像在Win98系统那样,利用屏幕拷贝功能来获取 GWBasic高
分辨率屏幕图形,使得还在利用DOS系统下BASIC程序资源的用户感到非常不便。尽管Windows系
统现在已经有了BASIC程序的新的开发环境,但原来在DOS环境下开发的BASIC程序是不能直接在
Wnidows系统中的BASIC环境下运行,必须要经过移植修改。这对于拥有较多DOS系统下BASIC程
序资源的用户来说,无疑难以接受。
2 解决方案
如何实现在WnidowsXP系统下获取GWBasic高分辨率屏幕图形,使用户原有资源得以方便利用,
是本文讨论的重点。
由于不知道WnidowsXP系统为什么不能像Wni98系统那样,利用屏幕拷贝功能来获取 GWBasic
高分辨率屏幕图形的真正技术原因,就算知道了没有Wnidows系统的源代码也没有办法解决,因此,
要有效的解决这个问题只能采取一些其它的补救措施。
方案一:安装Wni98和 WnidowsXP双系统。当要使用 DOS系统下的BASIC程序资源时,进入
Wni98系统,继续使用过去的老办法来操作。此方案的优点是简便可行,缺点是要安装两套操作系统,
占用磁盘资源较多,来回启动系统也较麻烦。 .
方案二:在WnidowsXP系统下运行GWBasic程序时,找一个具有获取GWBasic高分辨率屏幕图
形功能的程序,并将获取到的GWBasic高分辨率屏幕图形,经过转换后保存为BMP图像格式的文件,
供Word等图文编辑器调用。该方案从实用性和可行性方面看起来是比较理想的补救措施,下面就实现
收稿 日期:2007.11.01
维普资讯
2007年 l2月 第 4期 教 学 与 科 技 l3
该方案的应川实例进行交流 。
3 获取、处理 GWBasic高分辨率屏幕图形的关键要点
鉴于GWBasic高分辨率屏幕图形是使用BASIC语言编程来生成的,那么只要再用BASIC语言编
一 段具有获取屏幕 图形和转换功能的程序就应该可以了。况且BASIC语言提供 了获取屏幕像素的语句,
BMP图像文件的格式在相关的技术资料上也能查到,似乎实现获取屏幕图形与转换的功能不存在太大
的问题。按照预想的编程思路编好程序运行后,才发现恢复的图形与获取的图形面 目全非,事情并不
是像想像的那么简单。
经过反复仔细的分析、测试,最终发现是对数据进行获取处理的环节出了问题。由于在从保存屏
幕图形数据数组中,是以字为单位取出十六进制的屏幕图形数据,这些十六进制的数据个数是由屏幕
上的像素的多少而随机产生的。如果某个字所对应屏幕上没有像素,则该字中的数据就只有一个为 “0”
的十六进制数据;如果某个
文档评论(0)