一种用于固件的屏幕图像截取方法与装置制造方法及图纸

技术编号:18657823 阅读:157 留言:0更新日期:2018-08-11 14:21
本发明专利技术提供一种用于国产固件的屏幕图像截取方法,包括以下步骤:从显卡的FrameBuffer中获取对应屏幕的当前显示信息的分辨率和FrameBuffer数据并存储在缓冲区中;根据当前系统时间,动态生成对应该信息的文件名称;根据缓存区中的分辨率和FrameBuffer数据,生成BMP格式文件;存储BMP格式文件。实现了在国产固件下高效进行屏幕图像截取,将国产固件下的屏幕图像保存为BMP格式的文件。本发明专利技术还提供了一种使用上述方法的用于国产固件的屏幕图像截取装置。

Screen image interception method and device for firmware

The invention provides a screen image capturing method for domestic firmware, which comprises the following steps: obtaining the resolution of the current display information of the corresponding screen from the frame Buffer of the graphics card and storing the frame Buffer data in the buffer; dynamically generating the file name corresponding to the information according to the current system time; and according to the cache. The resolution and FrameBuffer data in the area generate BMP format files, and store BMP format files. The system can intercept the screen image efficiently under the domestic firmware, and save the screen image under the domestic firmware as a file in BMP format. The invention also provides a screen image capturing device for domestic firmware using the above method.

【技术实现步骤摘要】
一种用于固件的屏幕图像截取方法与装置
本专利技术涉及计算机
,具体涉及一种用于国产固件的屏幕图像截取方法与装置。
技术介绍
随着国家、国防信息化的高速发展,国家对自主可控、安全可信、高效可用专用安全计算平台的需求日趋明显。自主可控的安全计算平台通常基于国产处理器、国产固件设计,但目前国产固件下缺少有效的屏幕图像截取方法。在国产固件下进行屏幕图像截取,不仅能够及时获取固件下的异常信息,有助于问题的排查定位与固件的调试修改,还可以精确记录各人机交互界面下的图像,有利于人机交互界面的持续改进和固件的进一步推广。针对上述问题,需要一种用于国产固件的屏幕图像截取方法与装置,能够在国产固件下高效进行屏幕图像截取,将国产固件下的屏幕图像保存为BMP格式的文件。
技术实现思路
针对上述现有技术中的问题,需要能够在国产固件下高效进行屏幕图像截取,将国产固件下的屏幕图像保存为BMP格式的文件,本专利技术的目的在于提供一种用于国产固件的屏幕图像截取方法与装置。为了实现上述目的,本专利技术采用的技术方案如下:根据本专利技术,提供一种用于国产固件的屏幕图像截取方法,其特征在于,包含以下步骤:S01:从显卡的FrameBuffer(全帧缓存)中获取对应屏幕的当前显示信息的分辨率和FrameBuffer数据并存储在缓冲区中;S02:根据当前系统时间,动态生成对应该信息的文件名称;S03:根据缓存区中的分辨率和FrameBuffer数据,生成BMP格式文件;S04:存储BMP格式文件。根据本专利技术的一个实施例,步骤S01中,信息中关联屏幕的每一个像素点对应缓冲区中的一个32位数据,32位数据记录了像素点的RGB值。根据本专利技术的一个实施例,步骤S03包含生成文件头和像素点数据转化。根据本专利技术的一个实施例,像素点数据转化的步骤包括:将对应每个像素点的32位数据转化为24位数据,并对每行图像数据按4字节对齐处理。根据本专利技术的一个实施例,步骤S04包含:提供USB存储设备访问接口,以实现对扇区的读取与写入;提供对BMP格式文件的打开、读取、写入和关闭接口,以实现BMP格式文件的存储。根据本专利技术的一个实施例,步骤S04还包含:遍历系统中的USB存储设备,尝试在各个USB存储设备的ControllerHandle上获取SimpleFileSystemProtocol接口,若获取成功,则调用SimpleFileSystemProtocol接口中的Open方法以在USB存储设备中创建文件,并将生成的BMP格式文件的数据写入创建的文件。根据本专利技术的一个实施例,还包含:在步骤S01执行前,执行获取GraphicsOutputProtocol接口。根据本专利技术,提供了一种用于国产固件的屏幕图像截取装置,使用上述的方法。根据本专利技术,提供了一种计算机设备,包括存储器、至少一个处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行上述的方法。根据本专利技术,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行上述的方法。本专利技术通过以上技术方案,能够获得以下有益技术效果:本专利技术提供的用于国产固件的屏幕图像截取方法和装置,通过从显卡的FrameBuffer中获取对应屏幕的当前显示信息的分辨率和FrameBuffer数据并存储在缓冲区中;根据当前系统时间,动态生成对应该信息的文件名称;根据缓存区中的分辨率和FrameBuffer数据,生成BMP格式文件;存储BMP格式文件,实现了在国产固件下高效进行屏幕图像截取,将国产固件下的屏幕图像保存为BMP格式的文件。当然,实施本专利技术的任一产品必不一定需要同时达到以上所述的所有技术效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术提供的用于国产固件的屏幕图像截取装置的一个实施例的流程图;图2为本专利技术提供的用于国产固件的屏幕图像截取方法的另一个实施例的流程图;图3为本专利技术提供的用于国产固件的屏幕图像截取方法的计算机设备的一个实施例的硬件结构示意图。具体实施方式如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。说明书后续描述为实施本专利技术的较佳实施方式,然而所述描述乃以说明本专利技术的一般原则为目的,并非用以限定本专利技术的范围。本专利技术的保护范围当视所附权利要求所界定者为准。本专利技术的一个实施例中,如图1-2所示,提供了一种用于国产固件的屏幕图像截取方法,包括以下步骤:S00:获取GraphicsOutputProtocol(图形输出协议)接口。S01:从显卡的FrameBuffer(全帧缓存)中获取(读取)对应屏幕的当前显示信息的分辨率和FrameBuffer数据并存储在缓冲区中。其中,显示信息中关联屏幕的每一个像素点对应缓冲区中的一个32位数据,32位数据记录了像素点的RGB(红绿蓝)值。具体地,通过UEFI(统一可扩展固件接口)固件下的GraphicsOutputProtocol接口,将EfiBltVideoToBltBuffer作为入口参数来调用该接口提供的Blt(位图块转换)方法,来获取FrameBuffer的数据,并将该数据存储在BltBuffer缓冲区中。S02:根据当前系统时间,动态生成对应信息的文件名称。具体地,通过UEFI固件运行时服务提供的GetTime(获取时间)方法,从实时时钟模块获取当前系统时间,并将当前系统时间转化为字符串作为文件名称。S03:根据缓存区中的分辨率和FrameBuffer数据,生成BMP(位图)格式文件。其中,该步骤具体包含生成文件头和像素点数据转化。具体地,根据BltBuffer缓冲区中的数据生成24位的BMP文件的文件头,填写文件头中的文件大小、图像分辨率、图像数据区在BMP文件中的偏移、BMP文件头大小、图像分辨率、每个像素点bit数、每行图像字节数等信息,并对BltBuffer缓冲区中的数据进行转化(执行像素点数据转化的步骤),将对应每个像素点的32位(4字节)数据(RGB信息)转化为24位(3字节)数据,并对每行图像数据按4字节对齐处理,在转化完成后,将转化结果复制到BMP文件的图像数据区。S04:存储BMP格式文件。具体地,包含:使用UEFI固件下UsbMassStorage(大容量存储设备)驱动,对上层驱动提供UEFI规范中标准的BlockIoProtocol接口,以提供USB存储设备访问接口,来实现对扇区的读取与写入;采用UEFI固件下的FAT(文件分配表)文件系统驱动,向上层应用提供UEFI规范中标准的SimpleFileSystemProtocol(简单文件系统协议)接口,以提供对BMP格式文件的打开、读取、写入和关闭接口,来实现BMP格式文件的存储。在一个示例中,步骤S04中,存储BMP格式文件的步骤还包含:遍历系统中的本文档来自技高网...

【技术保护点】
1.一种用于国产固件的屏幕图像截取方法,其特征在于,包含以下步骤:S01:从显卡的全帧缓存中获取对应屏幕的当前显示信息的分辨率和全帧缓存数据并存储在缓冲区中;S02:根据当前系统时间,动态生成对应所述信息的文件名称;S03:根据所述缓存区中的所述分辨率和所述全帧缓存数据,生成BMP格式文件;S04:存储所述BMP格式文件。

【技术特征摘要】
1.一种用于国产固件的屏幕图像截取方法,其特征在于,包含以下步骤:S01:从显卡的全帧缓存中获取对应屏幕的当前显示信息的分辨率和全帧缓存数据并存储在缓冲区中;S02:根据当前系统时间,动态生成对应所述信息的文件名称;S03:根据所述缓存区中的所述分辨率和所述全帧缓存数据,生成BMP格式文件;S04:存储所述BMP格式文件。2.根据权利要求1所述的方法,其特征在于:步骤S01中,所述信息中关联所述屏幕的每一个像素点对应所述缓冲区中的一个32位数据,所述32位数据记录了所述像素点的RGB值。3.根据权利要求1所述的方法,其特征在于:步骤S03包含生成文件头和像素点数据转化。4.根据权利要求3所述的方法,其特征在于:像素点数据转化的步骤包括:将对应每个所述像素点的所述32位数据转化为24位数据,并对每行图像数据按4字节对齐处理。5.根据权利要求1所述的方法,其特征在于:步骤S04包含:提供USB存储设备访问接口,以实现对扇区的读取与写入;提供对所述BMP格式文件的打开、读取、写入和关闭接口,以实现所述BMP格式文件的存储。6....

【专利技术属性】
技术研发人员:孙文健李德国陈亮甫田昊
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1