一种通过第三方软件实现ppt嵌入的方法和系统的制作方法

文档序号:8361250阅读:546来源:国知局
一种通过第三方软件实现ppt嵌入的方法和系统的制作方法
【技术领域】
[0001]本发明属于计算机图形界面处理领域,尤其涉及一种通过第三方软件实现PPT嵌入的方法和系统。
【背景技术】
[0002]传统的PowerPoint (以下简称PPT)嵌入技术一般采用截图保存为多张图片,以图片形式呈现,这种方法无法体现PPT的动画过程。现有技术可使用实时截图的方式展示PPT文件的动画过程,但该技术方案对机器的CPU资源消耗严重、对设备的性能要求非常高,如设备性能不足则无法达到呈现画面的流畅性。现有的高性能设备每秒秒捕获图片的极限受分辨率的限制,也仅为30?50张。
[0003]现有技术还有将PPT在子窗口中加载,然后在父窗口中呈现,利用父子窗口的特性来做到PPT的嵌入。这种方式下由于父子窗口的消息处理与平级窗口之间的处理方式有些差别,因此在子窗口中呈现PPT,对程序的稳定性有很大影响。其次这种显示方式也无法实现对呈现内容的个性化操作处理比如旋转、上下层切换等等。就是连最基本的放大、缩小时呈现画面也不够流畅。

【发明内容】

[0004]本发明的目的在于提供一种通过第三方软件实现PPT嵌入的方法和系统,用于解决传统的PPT嵌入方式消耗性能、流畅性差的缺点。
[0005]为了解决上述技术问题,本发明的第一方面提供了一种通过第三方软件实现PPT嵌入的方法。
[0006]一种通过第三方软件实现PPT嵌入的方法,所述方法包括:
[0007]PPT装载组件加载PPT ;
[0008]后台程序获取所述PPT的窗口句柄;
[0009]后台程序根据所述窗口句柄获取所述PPT的窗口大小;
[0010]后台程序根据所述PPT的窗口大小创建纹理视图;
[0011]后台程序将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。
[0012]作为进一步的技术方案,所述步骤PPT装载组件加载PPT之前,所述方法还包括:
[0013]启动后台程序;
[0014]启动PPT。
[0015]作为进一步的技术方案,所述步骤后台程序获取所述PPT的窗口句柄具体为:
[0016]调用后台程序的FindWindow函数;
[0017]通过所述FindWindow函数获取装载所述PPT的窗口句柄。
[0018]作为进一步的技术方案,所述步骤将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区具体为:
[0019]调用后台程序的Bit-BLt函数;
[0020]在第三方软件渲染场景时,通过所述Bit-Blt函数将所述PPT窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。
[0021]作为进一步的技术方案,所述步骤将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区后,所述方法还包括:
[0022]将所述后备缓冲区的背景设备内容上的PPT的窗口内容呈现在第三方软件的界面上。
[0023]根据本发明的第二方面,提供了一种通过第三方软件实现PPT嵌入的系统。
[0024]—种通过第三方软件实现PPT嵌入的系统,所述系统包括后台程序和第三方软件的PPT装载组件;
[0025]所述后台程序包括:
[0026]第一获取模块,用于获取所述PPT的窗口句柄;
[0027]第二获取模块,用于根据所述窗口句柄获取所述PPT的窗口大小;
[0028]创建模块,用于根据所述PPT的窗口大小创建纹理视图;
[0029]拷贝模块,用于将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。
[0030]作为进一步的技术方案,所述系统还包括:
[0031]第一启动模块,用于在PPT装载组件加载PPT之前,启动后台程序;
[0032]第二启动模块,用于在PPT装载组件加载PPT之前,启动PPT。
[0033]作为进一步的技术方案,所述第一获取模块还包括:
[0034]第一调用单元,用于调用后台程序的FindWindow函数;
[0035]获取单元,用于通过所述FindWindow函数获取装载所述PPT的窗口句柄。
[0036]作为进一步的技术方案,所述拷贝模块包括:
[0037]第二调用单元,用于调用后台程序的Bit-Blt函数;
[0038]拷贝单元,用于在第三方软件渲染场景时,通过所述Bit-Blt函数将所述PPT窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。
[0039]作为进一步的技术方案,所述系统还包括:
[0040]呈现模块,用于将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区后,将所述后备缓冲区的背景设备内容上的PPT的窗口内容呈现在第三方软件的界面上。
[0041]有益效果:
[0042]在本发明中,通过后台程序获取所述PPT的窗口句柄,后台程序根据所述窗口句柄获取所述PPT的窗口大小;后台程序根据所述PPT的窗口大小创建纹理视图以及后台程序将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。本发明实现了很好的PPT嵌入,不需要复制图片的性能高消耗,又用可以利用directxll的ID3DllTexture2D来进行各种个性化操作,同时也利用了 directxll的3d显卡加速功能来保证呈现画面的流畅性。
【附图说明】
[0043]图1是本发明实施例1提供的一种通过第三方软件实现PPT嵌入的方法的流程示意图。
[0044]图2是本发明实施例2提供的一种通过第三方软件实现PPT嵌入的系统的系统框图。
【具体实施方式】
[0045]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]为了说明本发明所述的技术方案,下面通过具体实施例来说明。
[0047]实施例1
[0048]如图1所示,一种通过第三方软件实现PPT嵌入的方法,所述方法包括:
[0049]SlOl:PPT装载组件加载PPT ;
[0050]S102:后台程序获取所述PPT的窗口句柄;
[0051]S103:后台程序根据所述窗口句柄获取所述PPT的窗口大小;
[0052]S104:后台程序根据所述PPT的窗口大小创建纹理视图;
[0053]S105:后台程序将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区的背景设备内容上。
[0054]需要说明的是,本案中的第三方软件为一 Direct 11软件,其中Direct 11软件包括植染管线:DirectX 11加入了对Tessellat1n (镶嵌)的支持,镶嵌由外壳着色器、镶嵌单元以及域着色器组成。同时还加入了计算着色器,计算着色器与DXlO中引入的GS不同,它并不是渲染管线的一部分,镶嵌可以把一些较大的图元分成很多更小的图元,并将这些小图元组合到一起,形成一种有序的几何图形,这种几何图形更复杂,当然也更接近现实。这个过程也被称作细分曲面举例来说,镶嵌可以让一个立方体,通过处理看起来像是个球形,这样的话无疑节省了空间。此外,图形的质量、性能以及可控性也达到了一定的促进。由于DirectX 11所新增的特性甚至可以应用到DirectX 10硬件中,所以我们对于DirectX 11的快速应用都非常期待和乐观。DirectX 11特性还包括很重要一点:支持多线程。得益于此,应用程序可以同步创造有用资源或者管理状态,并从所有专用线程中发送提取命令,这样做无疑效率更高。DirectX 11的这种多线程技术可能并不能加速绘图的子系统(特别是当我们的GPU资源受限时),但是这样却可以提升线程启动游戏的效率,并且可以利用台式CPU核心数量不断提高所带来的潜力。所述PPT装载组件为该Directll软件的一部分。
[0055]需要说明的是,所述步骤PPT装载组件加载PPT之前,所述方法还包括:
[0056]启动后台程序;启动PPT。该启动后台程序的操作可以通过软件设置的按钮实现,也可在打开软件时就自动打开后台程序,当然,在其他的实施例中,也可为其他的实施方式,并不局限于本发明的实施方式。
[0057]在本发明的实施例1中,所述步骤后台程序获取所述PPT的窗口句柄具体为:
[0058]调用后台程序的FindWindow函数;
[0059]通过所述FindWindow函数获取装载所述PPT的窗口句柄。
[0060]具体的,所述FindWindow函数可以通过全局变量调用,也可通过局部变量调用。其中,句柄指一个对象的标识,而指针是一个对象的内存首地址。从实际处理的角度讲,即可以把句柄定义为指针,又可以把它定义为同类对象数组的索引,该FindWindow获取的值则为该PPT的窗口句柄的大小。该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。
[0061]在本发明的实施例1中,所述步骤将所述PPT的窗口的设备内容拷贝至所述纹理视图的后备缓冲区具体为:
[0062]调用后台程序的Bit-BLt函数;
[0063]在第三方软件渲染场景时,通过所述Bit-Blt函数将所述PPT窗口的设备内容拷贝
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1