CN102739983B - 一种实现半透明效果的方法及系统 - Google Patents

一种实现半透明效果的方法及系统 Download PDF

Info

Publication number
CN102739983B
CN102739983B CN201110089456.6A CN201110089456A CN102739983B CN 102739983 B CN102739983 B CN 102739983B CN 201110089456 A CN201110089456 A CN 201110089456A CN 102739983 B CN102739983 B CN 102739983B
Authority
CN
China
Prior art keywords
video data
window
translucent window
video
translucent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110089456.6A
Other languages
English (en)
Other versions
CN102739983A (zh
Inventor
张志东
林森
苏鸿星
康凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201110089456.6A priority Critical patent/CN102739983B/zh
Publication of CN102739983A publication Critical patent/CN102739983A/zh
Application granted granted Critical
Publication of CN102739983B publication Critical patent/CN102739983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种实现半透明效果的方法,包括:根据预先设置的半透明窗口的位置和大小,从视频数据中截取所述半透明窗口对应的视频数据传递给所述半透明窗口;所述半透明窗口根据截取的视频数据对自身进行处理;将处理后的半透明窗口叠加在视频窗口上。本发明还相应地公开了一种实现半透明效果的系统。本发明使用独立窗口叠加在视频区域之上,将视频数据截取出来设置为所述独立窗口的背景,使视频区域上的半透明控件的绘制、鼠标交互等处理和视频处理脱离关系,从而大大降低了视频区域上开发半透明控制栏等控件的难度,并且,本发明无须依赖.Net?Framework,从而应用范围广泛、易于实现。

Description

一种实现半透明效果的方法及系统
技术领域
本发明涉及视频数据处理技术,尤其涉及一种实现半透明效果的方法及系统。
背景技术
通常,在视频播放时,为了在不影响视频观看效果的前提下,使用户能够对正在播放的视频进行暂停、快进、全屏等操作;或者,为了能够在正在播放视频的视频窗口的某个位置显示贴片广告或其他预告信息,往往需要将相关控件或信息通过半透明的方式显示在视频窗口中。现有技术中,主要采用视频数据后处理的方式,将要实现半透明的内容融合到即将显示的视频数据中,实现半透明效果,采用视频数据后处理的方式,虽然应用场景相对较广泛,但是,由于是直接在视频数据上进行叠加,所以很难实现对鼠标事件的响应和交互,换言之,这种方案只适合静态的、没有交互的半透明混合,如半透明的贴片广告等,而很难实现需要响应鼠标交互的半透明控件,如视频播放器的控制栏、半透明的播放按钮等。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现半透明效果的方法及系统,能够方便地实现半透明控件,且应用范围广泛、易于实现。
为达到上述目的,本发明的技术方案是这样实现的:
一种实现半透明效果的方法,包括:
根据预先设置的半透明窗口的位置和大小,从视频数据中截取所述半透明窗口对应的视频数据传递给所述半透明窗口;
所述半透明窗口根据截取的视频数据对自身进行处理;
将处理后的半透明窗口叠加在视频窗口上。
所述半透明窗口为控件窗口;
所述半透明窗口根据截取的视频数据对自身进行处理包括:绘制背景和绘制前景;其中,
所述绘制背景为:根据所述截取的视频数据绘制背景;
所述绘制前景为:将控件通过半透明的方式绘制到所述绘制的背景上。
所述从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口之前,该方法还包括:解码一帧视频数据;
所述根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:根据预先设置的半透明窗口的位置和大小,从所述解码后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
该方法还包括:将所述解码后的视频数据传递给显卡,由显卡在视频窗口中显示所述视频数据。
所述根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:视频帧变化或者视频窗口大小改变时,根据预先设置的半透明窗口的位置和大小,从所述缩放后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
一种实现半透明效果的系统,包括播放器、半透明窗口、视频窗口和叠加模块;其中,
所述播放器,用于根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口;
所述半透明窗口,用于根据来自播放器的截取的视频数据对自身进行处理;
所述叠加模块,用于将处理后的半透明窗口叠加在视频窗口上。
所述半透明窗口为控件窗口;所述半透明窗口对自身进行处理包括:绘制背景和绘制前景。
所述播放器,还用于在根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口之前,解码一帧视频数据,
所述播放器根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:播放器根据半透明窗口的位置和大小,从所述解码后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
该系统还包括显卡,
所述播放器,还用于将所述解码后的视频数据传递给显卡;
所述显卡,用于在视频窗口中显示来自播放器的视频数据。
所述播放器根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:视频帧变化或者视频窗口大小改变时,播放器根据半透明窗口的位置和大小,从所述缩放后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
本发明所述实现半透明效果的方法及系统,播放器需要在视频窗口中显示视频数据时,根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口;所述半透明窗口根据截取的视频数据对自身进行处理;并将处理后的半透明窗口叠加在视频窗口上。本发明从需要在视频窗口中显示的视频数据中截取出半透明窗口对应的视频数据用来设置所述半透明窗口的背景,并在所述背景上进一步绘制控件,最后将该独立的半透明窗口叠加在视频窗口之上,使视频窗口上的半透明控件的绘制、鼠标交互等处理和视频处理脱离关系,从而可以方便的完成鼠标交互响应,可以应用通用的Windows皮肤引擎,大大降低视频区域上开发半透明控制栏等控件的难度,便于实现半透明控件,并且,本发明无需依赖.NetFramework,从而应用范围广泛、易于实现。
附图说明
图1为本发明实现半透明效果的方法流程示意图;
图2为本发明实施例实现半透明效果的方法的详细流程示意图;
图3为本发明实施例中视频窗口、控件窗口的位置关系示意图。
具体实施方式
本发明的基本思想是:根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口;所述半透明窗口根据截取的视频数据对自身进行处理;将所述处理后的半透明窗口叠加在视频窗口上。
图1为本发明实现半透明效果的方法流程示意图,如图1所示,该方法包括:
步骤101:播放器需要在视频窗口中显示视频数据时,根据预先设置的半透明窗口的位置和大小,从需要在视频窗口中显示的视频数据中截取半透明窗口对应的视频数据传递给半透明窗口。
播放器解码一帧视频数据,并将解码后的所述视频数据缩放到视频窗口大小之后,需要将所述缩放后的视频数据传递给显卡,由显卡在视频窗口中显示来自播放器的视频数据;其中,显卡采用硬件加速方式在视频窗口中显示来自播放器的视频数据。
步骤102:半透明窗口根据来自播放器的截取的视频数据对自身进行处理。
需要说明的是,对于半透明窗口为控件窗口的情况,所述半透明窗口根据所述来自播放器的截取的视频数据对自身进行处理包括:绘制背景和绘制前景,其中,所述绘制背景为:根据所述截取的视频数据绘制背景,即复制控件窗口占据视频窗口中视频播放区域的视频内容作为背景;所述绘制前景为:将控件通过半透明的方式绘制到所绘制的背景上。
步骤103:将处理后的半透明窗口叠加在视频窗口上。
本发明中,视频帧变化或者视频窗口大小改变均可以触发图1所述流程。
图2为本发明实施例实现半透明效果的方法的详细流程示意图,如图2所示,该方法包括:
步骤201:播放器需要在视频窗口中显示视频数据时,解码一帧视频数据。
这里,启动播放后,播放器便开始对视频数据进行解码。需要说明的是,播放器对视频数据解码的过程是连续的,即每解码一帧视频数据,都需要执行一次本流程。
步骤202:播放器将解码后的视频数据缩放到视频窗口大小,转到步骤203和步骤205。
步骤203:播放器将缩放后的视频数据传递给显卡.
步骤204:显卡在视频窗口中显示来自播放器的视频数据,之后转到步骤209。
具体的,显卡一般采用硬件加速方式在视频窗口中显示来自播放器的视频数据。
步骤205:播放器根据预先设置的半透明窗口的位置和大小,从缩放后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
步骤206步骤208:半透明窗口根据来自播放器的截取的视频数据进行处理。
具体的,需要实现半透明控件的情况下,所述半透明窗口根据来自播放器的截取的视频数据进行处理,即:进行半透明绘制与混合,具体包括绘制背景和绘制前景;其中,背景部分绘制就是控件窗口所占据的视频播放区域的视频内容,前景部分则根据具体的需求,可以是各种各样的控件,这些控件通过半透明的方式绘制到复制好的视频背景上。
需要说明的是,当因视频帧变化或者视频窗口大小改变导致视频重绘的时候,将视频数据重新截取出来,更新控件窗口的背景,强制控件窗口重新绘制。
步骤209:将处理后的半透明窗口叠加在视频窗口上,实现半透明效果。
为了实现该方案,需要播放器实现如下功能:播放器可以接受设置,指定窗口的某个区域为半透明区,当在正常的播放过程视频内容被改变或视频窗口的大小被改变的时候、主动将半透明区域的视频画面传递给上层的半透明窗口如控件窗口,由半透明窗口如控件窗口负责之后的半透明混合与绘制。
本发明的关键就在于:在视频区域上方再创建一个半透明窗口如控件窗口,通过将视频数据截取出来设置为该独立的半透明窗口的背景的方法,使视频区域上的半透明控件的绘制、鼠标交互等处理和视频处理脱离关系。
图3为本发明实施例中视频窗口、控件窗口的位置关系示意图,如图3所示,A为视频窗口,C为控件窗口,B为控件窗口在视频窗口内所占据的区域。当视频画面进行更新之后,取出B区域的视频数据,复制到控件窗口C作为背景,并强制控件窗口C进行重绘。控件窗口C重绘的过程中,先将B区域的视频数据作为背景进行绘制,然后绘制该窗口内要显示的其他控件,比如按钮、滚动条等等,绘制控件的过程可以应用支持半透明效果的皮肤引擎来完成。这样,最终用户看到的效果就是,控件窗口C的内容全部半透明的融合在视频内部,并且可以响应用户的鼠标操作,例如,用户可以通过鼠标点击控件窗口C中的暂停、快进、全屏等按钮,对视频窗口A中正在播放的视频进行暂停、快进、全屏等操作。
本发明还相应地提出一种实现半透明效果的系统,该系统包括播放器、半透明窗口、视频窗口和叠加模块;其中,
所述播放器,用于根据半透明窗口的位置和大小,从视频数据中截取相应的视频数据传递给所述半透明窗口;
所述半透明窗口,用于根据来自播放器的截取的视频数据对自身进行处理;
所述叠加模块,用于将处理后的半透明窗口叠加在视频窗口上。
所述半透明窗口为控件窗口,所述半透明窗口根据所述来自播放器的截取的视频数据对自身进行处理包括:绘制背景和绘制前景,其中,
所述绘制背景为:根据所述截取的视频数据绘制背景,即复制控件窗口占据视频窗口中视频播放区域的视频内容作为背景,
所述绘制前景为:将控件通过半透明的方式绘制到所述绘制的背景上。
所述播放器,还用于在根据半透明窗口的位置和大小,从视频数据中截取相应的视频数据传递给所述半透明窗口之前,解码一帧视频数据,并将解码后的所述视频数据缩放到视频窗口大小,
所述播放器根据半透明窗口的位置和大小,从视频数据中截取相应的视频数据传递给所述半透明窗口为:播放器根据半透明窗口的位置和大小,从所述缩放后的视频数据中截取相应的视频数据传递给所述半透明窗口。
该系统还包括显卡,
所述播放器,还用于在解码一帧视频数据,并将解码后的所述视频数据缩放到视频窗口大小之后,将所述缩放后的视频数据传递给显卡;
所述显卡,用于在视频窗口中显示来自播放器的视频数据。
所述显卡在视频窗口中显示来自播放器的视频数据为:显卡采用硬件加速方式在视频窗口中显示来自播放器的视频数据。
所述播放器根据半透明窗口的位置和大小,从视频数据中截取相应的视频数据传递给所述半透明窗口为:视频帧变化或者视频窗口大小改变时,播放器根据半透明窗口的位置和大小,从所述缩放后的视频数据中截取相应的视频数据传递给所述半透明窗口。
可以看出,本发明通过在视频区域上叠加一个合适大小的窗口,并实时从视频播放器中提取播放器和该窗口叠加区域的视频数据,设置为该窗口的背景内容,在此基础之上再完成该窗口的其他功能,比如按钮的绘制和交互响应。该方案无须依赖.NetFramework,无须使用layered窗口,可以使用普通子窗口叠加在视频区域之上,由于是独立窗口,可以方便的完成鼠标交互响应,可以应用通用的Windows皮肤引擎,大大降低了视频区域上开发半透明控制栏等控件的难度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种实现半透明效果的方法,其特征在于,该方法包括:
根据预先设置的半透明窗口的位置和大小,从视频数据中截取所述半透明窗口对应的视频数据传递给所述半透明窗口;
所述半透明窗口根据截取的视频数据对自身进行处理;
将处理后的半透明窗口叠加在视频窗口上。
2.根据权利要求1所述的方法,其特征在于,所述半透明窗口为控件窗口;
所述半透明窗口根据截取的视频数据对自身进行处理包括:绘制背景和绘制前景;其中,
所述绘制背景为:根据所述截取的视频数据绘制背景;
所述绘制前景为:将控件通过半透明的方式绘制到所述绘制的背景上。
3.根据权利要求1或2所述的方法,其特征在于,所述从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口之前,该方法还包括:解码一帧视频数据;
所述根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:根据预先设置的半透明窗口的位置和大小,从解码后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:将所述解码后的视频数据传递给显卡,由显卡在视频窗口中显示所述视频数据。
5.根据权利要求1或2所述的方法,其特征在于,所述根据预先设置的半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:视频帧变化或者视频窗口大小改变时,根据预先设置的半透明窗口的位置和大小,从缩放后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
6.一种实现半透明效果的系统,其特征在于,该系统包括播放器、半透明窗口、视频窗口和叠加模块;其中,
所述播放器,用于根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口;
所述半透明窗口,用于根据来自播放器的截取的视频数据对自身进行处理;
所述叠加模块,用于将处理后的半透明窗口叠加在视频窗口上。
7.根据权利要求6所述的系统,其特征在于,所述半透明窗口为控件窗口;所述半透明窗口对自身进行处理包括:绘制背景和绘制前景。
8.根据权利要求6或7所述的系统,其特征在于,
所述播放器,还用于在根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口之前,解码一帧视频数据,
所述播放器根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:播放器根据半透明窗口的位置和大小,从解码后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
9.根据权利要求8所述的系统,其特征在于,该系统还包括显卡,
所述播放器,还用于将所述解码后的视频数据传递给显卡;
所述显卡,用于在视频窗口中显示来自播放器的视频数据。
10.根据权利要求6或7所述的系统,其特征在于,所述播放器根据半透明窗口的位置和大小,从视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口为:视频帧变化或者视频窗口大小改变时,播放器根据半透明窗口的位置和大小,从缩放后的视频数据中截取半透明窗口对应的视频数据传递给所述半透明窗口。
CN201110089456.6A 2011-04-11 2011-04-11 一种实现半透明效果的方法及系统 Active CN102739983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110089456.6A CN102739983B (zh) 2011-04-11 2011-04-11 一种实现半透明效果的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110089456.6A CN102739983B (zh) 2011-04-11 2011-04-11 一种实现半透明效果的方法及系统

Publications (2)

Publication Number Publication Date
CN102739983A CN102739983A (zh) 2012-10-17
CN102739983B true CN102739983B (zh) 2016-04-13

Family

ID=46994683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110089456.6A Active CN102739983B (zh) 2011-04-11 2011-04-11 一种实现半透明效果的方法及系统

Country Status (1)

Country Link
CN (1) CN102739983B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094763B (zh) * 2014-04-30 2019-08-23 广州市动景计算机科技有限公司 扩展视频功能的方法及系统
CN105446585B (zh) * 2014-08-29 2019-03-15 优视科技有限公司 一种安卓智能终端浏览器视频显示方法及装置
CN104301788A (zh) * 2014-09-26 2015-01-21 北京奇艺世纪科技有限公司 一种提供视频交互的方法和装置
CN107027068B (zh) * 2016-02-01 2021-04-13 斑马智行网络(香港)有限公司 渲染方法、解码方法、播放多媒体数据流的方法及装置
CN107025100A (zh) 2016-02-01 2017-08-08 阿里巴巴集团控股有限公司 播放多媒体数据的方法、界面渲染方法及装置、设备
CN105930026A (zh) * 2016-04-15 2016-09-07 合网络技术(北京)有限公司 多媒体资源的播放控制方法和装置
CN107423050A (zh) * 2017-04-28 2017-12-01 广州酷狗计算机科技有限公司 一种穿透操作的方法和装置
CN110708591B (zh) * 2018-07-10 2022-04-26 杭州海康威视系统技术有限公司 一种图像处理方法、装置及电子设备
CN115695889A (zh) * 2022-09-30 2023-02-03 聚好看科技股份有限公司 显示设备及悬浮窗显示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076089A (zh) * 2006-06-23 2007-11-21 腾讯科技(深圳)有限公司 一种显示字幕的方法
CN101159819A (zh) * 2007-11-09 2008-04-09 深圳市迅雷网络技术有限公司 一种在线视频中插播Flash的方法和装置
CN102301736A (zh) * 2011-07-06 2011-12-28 华为技术有限公司 视频播放内容切换的方法、装置及移动终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2142977A4 (en) * 2007-05-02 2010-05-19 Google Inc USER INTERFACES FOR WEB-BASED VIDEO PLAYER

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076089A (zh) * 2006-06-23 2007-11-21 腾讯科技(深圳)有限公司 一种显示字幕的方法
CN101159819A (zh) * 2007-11-09 2008-04-09 深圳市迅雷网络技术有限公司 一种在线视频中插播Flash的方法和装置
CN102301736A (zh) * 2011-07-06 2011-12-28 华为技术有限公司 视频播放内容切换的方法、装置及移动终端

Also Published As

Publication number Publication date
CN102739983A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102739983B (zh) 一种实现半透明效果的方法及系统
CN106156066B (zh) 一种页面切换方法、装置及客户端
US20070288640A1 (en) Remote rendering of multiple mouse cursors
WO2017101493A1 (zh) 一种浏览器的页面标签管理方法及装置
CN105979339B (zh) 一种窗口显示方法及客户端
CN103297855B (zh) 一种应用展示方法以及一种终端
CN111078070B (zh) Ppt视频弹幕的播放控制方法、装置、终端及介质
WO2011116601A1 (zh) 实现移动终端横竖屏切换的装置及方法
CN102981894A (zh) 显示方法和电子设备
KR101968977B1 (ko) 카툰 제공 시스템, 카툰 제공 장치 및 카툰 제공 방법
CN102868928A (zh) 一种实现字幕隐藏的视频图像显示方法和装置
CN103106361A (zh) 一种增强图片验证码安全性的方法和装置
CN101620502A (zh) 手写区域显示信息的方法及系统
CN103488371A (zh) 一种在移动终端上制作动画的方法及移动终端
CN103677883B (zh) 显示停靠栏图标的方法及装置
CN105094763A (zh) 扩展视频功能的方法及系统
CN104301788A (zh) 一种提供视频交互的方法和装置
CN102411468A (zh) 利用动画展示信息的方法和装置
WO2016201803A1 (zh) 屏幕投影显示的控制方法、装置及移动终端
CN107197356A (zh) 一种在电视中显示屏幕菜单的方法、装置及电视
CN101770327A (zh) 可切换启动多视角显示屏幕的执行程序的影像系统及方法
US20130169660A1 (en) Image editing system and method
WO2015196543A1 (zh) 一种终端及终端的多窗口显示方法、存储介质
CN103491416A (zh) 字幕数据的单图层显示方法和装置
CN104915208A (zh) 应用程序头图显示控制方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant