一种用于生成异形窗口的方法和装置制造方法及图纸

技术编号:12812329 阅读:251 留言:0更新日期:2016-02-05 11:47
本发明专利技术的实施方式提供了一种用于生成异形窗口的方法和装置。所述方法包括:封装并初始化Chromium嵌入式框架;创建初始窗口;由所述Chromium嵌入式框架基于所述初始窗口创建离屏渲染浏览器;通过由所述离屏渲染浏览器加载页面内容数据生成位图数据;将所述位图数据转换为内存位图,以及基于所述内存位图,通过UpdateLayeredWindow生成并输出异形窗口。

【技术实现步骤摘要】

本专利技术的实施方式涉及计算机领域,更具体地,本专利技术的实施方式涉及用于生成 异形窗口的方法和装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的 描述不因为包括在本部分中就承认是现有技术。 目前所使用的电子设备的操作系统上通常都安装有异形窗口应用,其可以由用户 自定义窗口的形状、颜色、透明度等属性,例如媒体播放器,时钟,杀毒软件图标等。这种异 形窗口应用通常基于分层窗口(Layered windows)技术来创建异形窗口。分层窗口技术的 主要特点包括:允许窗口像素点的alpha值与屏幕像素点alpha值混合,其中alpha值是表 示位图中像素不透明度的参数;窗口像素点alpha值为0 (全透明)时,鼠标可以穿越当前 窗口被下一层窗口捕获。根据对异形窗口外观的具体需求,可以分别采用分层窗口技术中 的两个 API :SetLayeredWindowAttributes 和 UpdateLayeredWindow 来创建异形窗口。 SetLayeredWindowAttributes适合创建外观比较简单、无渐变效果的异形窗口, 其存在以下缺点:当需要产生不规则形状的异形窗口时,必须有一种颜色用于识别色(表 示在异形窗口中该颜色所在区域变更为全透明),因而异形窗口色彩表现受到限制;异形 窗口像素点最多只能有三个alpha值,无法实现透明度渐变效果(比如阴影),导致异形窗 口的表现形式受限;当需要输出形状极其复杂的窗口时(比如直接输出文字),边缘锯齿残 留非常明显,表现效果差。 UpdateLayeredWindow适用于创建外观复杂的异形窗口,该方案可以将位图直接 输出到屏幕来获得异形窗口,通常位图可以通过以下两种方式来获取: 第一,如果该异形窗口应用的外观只有固定的一种或几种(比如媒体播放器、杀 毒软件图标等),可以通过在创建异形窗口前通过绘图工具(如Photoshop等)绘制来获取 位图,异形窗口应用运行时直接加载或者响应于用户的操作请求加载所获取的位图。然而 这种方式有以下缺点:所获取的位图数量有限,交互形式单一,只适合于界面较为单一、对 视觉和交互要求不高的桌面应用,比如上面提到的传统的播放器面板,杀毒软件图标等;无 法根据实时数据生成位图,比如曲线图、柱状图、饼图等统计类型图片;窗口外观一般只能 由本地程序控制,不方便维护和程序开发,灵活性较低。 第二,如果该异形窗口应用的外观跟实时数据相关(比如电子时钟、股票实时走 势、天气预报等),或者该异形窗口应用的外观需要响应于用户的操作请求而相应地变化, 则可以在应用运行时通过GDI (Graphics Device Interface)、GDI+或Direct3D等图形绘 制接口绘制来获取位图。然而,这种获取位图的方式也存在较多缺点:绘制过程非常复杂, 成本高;程序绘图模型在应用生成后无法新增或者变更,除非升级该应用;缺乏成熟的开 源的数据可视化解决方案,开发和维护的技术难度较大;窗口外观一般只能由本地程序控 制,不方便维护和程序开发,灵活性较低。
技术实现思路
现有技术中的生成异形窗口的技术中,如果需要根据实时数据来生成异形窗口且 使异形窗口的外观能够响应于用户的操作请求而相应地变化,则仅能够通过复杂的绘制过 程来获取位图数据,开发和维护的成本较高;用于获取位图数据的程序绘图模型在应用生 成后无法新增或者变更,除非升级该应用;缺乏成熟的开源的数据可视化解决方案,开发和 维护的技术难度大;异形窗口外观一般只能由本地程序控制,不方便维护和程序开发,灵活 性较低。 因此在现有技术中,用于生成异形窗口的方法和装置用户体验不佳,计算过程复 杂、难度大、成本高、灵活性低,这是非常令人烦恼的过程。 为此,非常需要一种改进的用于生成异形窗口的方法和装置,以便丰富异形窗口 应用的外观和交互形态,可以将异形窗口应用的外观数据部署在远端服务器上以提高程序 开发、维护的灵活性,并且显著提高异形窗口应用的开发、维护的效率并显著降低开发、维 护难度和成本。 在本上下文中,本专利技术的实施方式期望提供一种用于生成异形窗口的方法和装 置。 在本专利技术实施方式的第一方面中,提供了一种用于生成异形窗口的方法,包括:封 装并初始化Chromium嵌入式框架;创建初始窗口;由所述Chromium嵌入式框架基于所述 初始窗口创建离屏渲染浏览器;通过由所述离屏渲染浏览器加载页面内容数据生成位图数 据;将所述位图数据转换为内存位图;基于所述内存位图,通过UpdateLayeredWindow生成 并输出异形窗口。 在本专利技术实施方式的第二方面中,提供了一种用于生成异形窗口的装置,包括:封 装模块,被配置为封装并初始化Chromium嵌入式框架;初始窗口创建模块,被配置为创建 初始窗口;离屏渲染浏览器创建模块,被配置为通过所述Chromium嵌入式框架基于所述初 始窗口创建离屏渲染浏览器;位图数据生成模块,被配置为通过由所述离屏渲染浏览器加 载页面内容数据生成位图数据;转换模块,被配置为将所述位图数据转换为内存位图;异 形窗口生成模块,被配置为基于所述内存位图,通过UpdateLayeredWindow生成并输出异 形窗口。 根据本专利技术实施方式的用于生成异形窗口的方法和装置,能够丰富异形窗口应用 的外观和交互形态;能够根据基于实时数据的页面内容来生成位图数据,并可根据需要生 成任意数量的位图;可以将异形窗口应用的外观数据部署在远端服务器上以提高程序开 发、维护的灵活性;优化了生成异形窗口的过程,显著减少了数据转换的时间且提高了转换 效率,减少了 CPU的使用率,节约了处理器的资源,并改善了异形窗口应用的性能;并且显 著提高异形窗口应用的开发、维护的效率并显著降低开发、维护难度和成本。【附图说明】 通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目 的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若 干实施方式,其中: 图IA和IB示意性地示出了根据本专利技术实施方式的应用场景; 图2示意性地示出了根据本专利技术实施方式的用于生成异形窗口方法的流程示意 图; 图3示意性地示出了根据本专利技术另一个实施方式的用于生成异形窗口方法的流 程不意图; 图4示意性地示出了根据本专利技术实施方式的用于生成异形窗口装置的示意图; 图5示意性地示出了根据本专利技术另一实施方式的用于生成异形窗口装置的示意 图;以及 图6示意性地示出了根据本专利技术另一实施方式的用于生成异形窗口的程序产品。 在附图中,相同或对应的标号表不相同或对应的部分。【具体实施方式】 下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这 些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何 方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能 够将本公开的范围完整地传达给本领域的技术人员。 本领域技术技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、 方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软 件(包括固件、驻留软件、微代码等),或者硬件和软件结合的本文档来自技高网
...

【技术保护点】
一种用于生成异形窗口的方法,包括:封装并初始化Chromium嵌入式框架;创建初始窗口;由所述Chromium嵌入式框架基于所述初始窗口创建离屏渲染浏览器;通过由所述离屏渲染浏览器加载页面内容数据生成位图数据;将所述位图数据转换为内存位图;以及基于所述内存位图,通过UpdateLayeredWindow生成并输出异形窗口。

【技术特征摘要】

【专利技术属性】
技术研发人员:严跃杰顾平
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

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

1