一种基于OpenGL的图层混合方法及装置制造方法及图纸

技术编号:10417841 阅读:181 留言:0更新日期:2014-09-12 10:18
本发明专利技术适用于图像技术领域,提供了一种基于OpenGL的图层混合方法及装置。本发明专利技术中通过Android系统的3D应用接口创建主界面视图层并对主界面视图层进行初始化;根据主界面视图层的后方视频层的TV画面的大小,在主界面视图层的与TV画面对应的区域进行图形绘制,并将主界面视图层的与TV画面对应的区域设置为透明;当视频层的TV画面需要叠加物体时,在主界面视图层绘制需要叠加物体,并将主界面视图层的绘制叠加物体的区域设置为不透明。本发明专利技术由于TV画面上叠加的物体都是在主界面视图层创建的,不需要多个视图层进行叠加混合,更加容易控制。

【技术实现步骤摘要】
—种基于OpenGL的图层混合方法及装置
本专利技术属于图像
,尤其涉及一种基于OpenGL的图层混合方法及装置。
技术介绍
目前智能电视系统中,为了获得良好的用户体验,在电视的主界面上,除了会显示应用的图标外及推荐内容外,还要显示TV视频内容。因为主界面的图层与视频图层,不在同一个层次上,当主界面在前面显示的时候,会将视频层的TV画面遮住,反之当视频层在前面的时候,会将主界面遮住。现有的Android系统中,解决透出视频Video同时在TV画面显示叠加物体(比如台标等)时,都是通过系统提供的多个视图层(View层)叠加实现的。比如:完成一个TV小窗口透出视频层以及TV小窗口上面弹出菜单,则需要有3个图层,最底层是视频层(Video层),然后是TV小窗口层的View层,最上层是弹出的菜单图层。如果上面还需要弹出其他台标之类的,则需要更多图层。这样多个图层作用造成层次多,不容易控制。如果场景更复杂的情况,那么图层也就更难以控制。
技术实现思路
本专利技术的目的在于提供一种基于OpenGL的图层混合方法,旨在解决现有的图层混合方法中,透出视频Video同时在TV画面显示叠加物体时,需要多个视图层叠加造成层次多,不容易控制的问题。本专利技术提供了一种基于OpenGL的图层混合方法,包括:通过Android系统的3D应用接口创建主界面视图层;将创建的所述主界面视图层进行初始化;根据所述主界面视图层的后方视频层的T V画面的大小,在所述主界面视图层的与所述T V画面对应的区域进行图形绘制,并将所述主界面视图层的与所述T V画面对应的区域设置为透明;当所述视频层的T V画面需要叠加物体时,在所述主界面视图层绘制所述需要叠加物体,并将所述主界面视图层的绘制叠加物体的区域设置为不透明。进一步的,所述初始化包括将所述主界面视图层设置为不透明;进一步的,所述初始化还包括:将所述主界面视图层的各个像素的RGB值都设置为O。进一步的,在所述主界面视图层的与所述T V画面对应的区域进行图形绘制,具体为:根据所述T V画面的大小在所述主界面视图层的与所述T V画面对应的区域绘制四边形。进一步的,当所述方法应用于Android系统时,所述主界面视图层为Android创建的 GLSurfaceView 图层。本专利技术还提供了一种基于OpenGL的图层混合装置,包括:创建模块、初始化模块、第一绘制设置模块以及第二绘制设置模块;所述创建模块,用于通过Android系统的3D应用接口创建主界面视图层;所述初始化模块,用于将主界面视图层进行初始化,所述初始化包括将所述主界面视图层设置为不透明;所述第一绘制设置模块,用于根据所述主界面视图层后方视频层的T V画面的大小,在所述主界面视图层的与所述T V画面对应的区域进行图形绘制,并将所述主界面视图层的与所述TV画面对应的区域设置为透明;所述第二绘制设置模块,用于当所述视频层的T V画面需要叠加物体时,在所述主界面视图层绘制所述需要叠加物体,并将所述主界面视图层的绘制叠加物体的区域设置为不透明。进一步的,所述初始化模块,包括:第一设置模块,用于将所述主界面视图层设置为不透明。进一步的,所述初始化模块还包括:第二设置模块,用于将所述主界面视图层的各个像素的RGB值都设置为O。进一步的,所述第一绘制设置还具体用于:根据所述T V画面的大小在所述主界面视图层的与所述T V画面对应的区域绘制四边形。进一步的,当所述装置应用于Android系统时,所述主界面视图层为Android创建的 GLSurfaceView 图层。本专利技术中,通过Android系统的3D应用接口创建主界面视图层;将创建的主界面视图层进行初始化;根据主界面视图层的后方视频层的T V画面的大小,在主界面视图层的与所述T V画面对应的区域进行图形绘制,并将主界面视图层的与T V画面对应的区域设置为透明;当视频层的T V画面需要叠加物体时,在主界面视图层绘制所述需要叠加物体,并将主界面视图层的绘制叠加物体的区域设置为不透明,由于将主界面视图层的与TV画面对应的区域设置为透明,所以能将主界面视图层后面的视频层的T V画面透出来,不会被遮挡,且TV画面上叠加的物体都是在主界面视图层创建的,不需要多个视图层进行叠加混合,容易控制。【附图说明】图1是本专利技术实施例提供的基于OpenGL的图层混合方法的实现流程图;图2是本专利技术实施例提供的基于OpenGL的图层混合装置的结构框图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1示出了本专利技术实施例提供的一种基于OpenGL的图层混合方法的实现流程,详述如下:步骤101、通过Android系统的3D应用接口创建主界面视图层。Android提供了一个基本的类GLSurfaceView让开发者使用OpenGL ES API来创建和操纵图形。在本专利技术实施例中,主界面视图层为Android系统的3D应用接口 API创建的GLSurfaceView图层,利用SetZorderOnTop方法将GLSurfaceView图层置于顶层从而覆盖video层的TV画面,可以根据Android系统与开源库不同需要调用不同的API实现。该主界面视图层位于视频层video层之上。主界面视图层用于显示操作系统的桌面Π界面,视频层video层用于显示TV画面。步骤102、对主界面视图层进行初始化。本专利技术实施例中,对主界面视图层进行初始化包括将主界面视图层的透明度设置为不透明。具体的可以通过将主界面视图层的透明度A值设置为I。初始化还包括:将主界面视图层的各个像素的RGB值都设置为0,即将图层颜色设置为黑色。该初始化操作是为了将之前的画面全部清除,将画面初始化为不透明黑色的画面。上述初始化还可以同时包括绘制背景画面等。步骤103、根据主界面视图层的后方视频层的T V画面的大小,在主界面视图层中绘制出与TV画面对应的区域,并将该区域的透明度设置为透明。本专利技术实施例中,根据主界面视图层的后方视频层的T V画面的大小,在主界面视图层绘制出与T V画面对应的区域,并将主界面视图层的与T V画面对应的区域设置为透明,具体的,可以透明度A值设置为O。在主界面视图层的与T V画面对应的区域进行图形绘制,具体为:通过图形应用接口,根据所述T V画面的大小在主界面视图层的与T V画面对应的区域绘制四边形。将主界面视图层的绘制的四边形区域设置为透明。若系统为Android系统时,通过Android系统的3D应用接口 API在主界面视图层(GLSurfaceView图层)绘制四边形,然后通过3D应用接口 API (比如OpenGL开源库)调整四边形的大小和位置,使得绘制四边形的大小及位置与视频层的T V画面对应。然后将绘制四边形的透明度设置为透明。具体的,通过OpenGL的3D混合接口,即glBlendfunc接口,在绘制四边形的时候,设置混合方式为透明度清零的方式。这样在四边形绘制后,就会把四边形的区域的透明度清空,也即将通透明度设置为透明,透明A值为O。这样四边形区域会透过后面的视频层对应的T V画面本文档来自技高网...

【技术保护点】
一种基于OpenGL的图层混合方法,其特征在于,包括:通过Android系统的3D应用接口创建主界面视图层;对创建的所述主界面视图层进行初始化;根据所述主界面视图层的后方视频层的TV画面的大小,在所述主界面视图层的与所述TV画面对应的区域进行图形绘制,并将所述主界面视图层的与所述TV画面对应的区域设置为透明;当所述视频层的TV画面需要叠加物体时,在所述主界面视图层绘制所述叠加物体,并将所述主界面视图层的绘制叠加物体的区域设置为不透明或半透明。

【技术特征摘要】
1.一种基于OpenGL的图层混合方法,其特征在于,包括: 通过Android系统的3D应用接口创建主界面视图层; 对创建的所述主界面视图层进行初始化; 根据所述主界面视图层的后方视频层的T V画面的大小,在所述主界面视图层的与所述T V画面对应的区域进行图形绘制,并将所述主界面视图层的与所述T V画面对应的区域设置为透明; 当所述视频层的T V画面需要叠加物体时,在所述主界面视图层绘制所述叠加物体,并将所述主界面视图层的绘制叠加物体的区域设置为不透明或半透明。2.如权利要求1所述的方法,其特征在于,所述对创建的所述主界面视图层进行初始化,包括: 将所述主界面视图层设置为不透明。3.如权利要求2所述的方法,其特征在于,所述初始化还包括: 将所述主界面视图层的各个像素的RGB值都设置为O。4.如权利要求1-3之一所述的方法,其特征在于,在所述主界面视图层的与所述TV画面对应的区域进行图形绘制,具体为: 根据所述T V画面的大小在所述主界面视图层的与所述T V画面对应的区域绘制四边形。5.如权利要求1-3之一所述的方法,其特征在于,所述主界面视图层为Android创建的GLSurfaceView 图层。6.一种基于OpenGL的图层混合装置,其特征在于,包括...

【专利技术属性】
技术研发人员:卢伟超张颖
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:广东;44

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

1