一种安卓电视上的3D阴影生成方法技术

技术编号:19704387 阅读:23 留言:0更新日期:2018-12-08 14:51
本公开提供了一种安卓电视上的3D阴影生成方法及电子设备,方法包括:采用内容拉伸边界的方法为点九图添加视觉边界;通过识别点九图的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,其中,内容区域为视觉边界矩形坐标封闭的区域;绘制内容区域及3D阴影区域,通过设置3D阴影区域透明度控制3D阴影区域的可见性。该方法通过设置3D阴影区域的透明度实现3D阴影效果的动态显示,同时,以点九图的视觉边界来划分3D阴影区域,从而实现3D阴影区域与内容拉伸区域的分离,保证拉伸内容拉伸区域不会影响3D阴影区域,此外,3D阴影属性不存在低版本系统的兼容问题,且由于采用有限的区域重绘,对资源的消耗也较低。

【技术实现步骤摘要】
一种安卓电视上的3D阴影生成方法
本公开涉及安卓电视应用领域,尤其涉及一种安卓电视上的3D阴影生成方法。
技术介绍
随着安卓智能电视的大面积普及,安卓电视上的音视频应用也在快速增长,按照Google官方定制的MaterialDesign交互规范,一个承载内容元素的View被定义为卡片(Card),为提高视觉效果,Google工程师设计出CardView,CardView具备多种特效属性:设置圆角,3D阴影,背景色等,目前CardView被广泛运用于安卓App中,如下图3-1中带有“冰棒行动”字样的矩形卡片就是典型的CardView。CardView中使用最为广泛的一个特效属性就是3D阴影,如图3-1所示,卡片底部的阴影深度(Z-Ev)最大,左右两边略浅,顶部阴影深度最浅,这种阴影在不同方向上的深浅不一从而营造出一种3D悬浮效果,也就是3D阴影。CardView是Google于2015年随Support-v7包发布的,由于是2015年以后才诞生的,因此其3D阴影属性依赖于安卓5.0或以上版本系统的API,这就导致在安卓5.0以下系统下无法正常生成3D阴影的问题,为解决安卓5.0以下系统3D阴影的显示问题,安卓开发领域采用目前广泛使用的2种方法:一种是采用重绘机制生成阴影,这种方案的优点是可兼容低版本安卓系统,且可动态生成可随时关闭阴影效果,但缺点是耗费资源;另一种是使用带3D阴影效果的图片,这种方案的优点是使用方便,无需编写大量兼容低版本的函数,但缺点是无法动态关闭阴影效果且阴影会挤占卡片的空间。
技术实现思路
针对上述2种方案中存在的解决低版本系统的3D阴影生成问题,本公开提出一种重绘机制结合点九图(.9图)的方法,用于解决重绘机制生成3D阴影资源耗费高,带3D阴影阴影图片无法实现阴影效果的动态关闭等问题。本公开一方面提供一种安卓电视上的3D阴影生成方法,包括:首先,采用内容拉伸边界的方法为点九图(.9图)添加视觉边界;其次,通过识别所述点九图(.9图)的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,其中,所述内容区域为所述视觉边界矩形坐标封闭的区域;最后,绘制所述内容区域及3D阴影区域,通过设置3D阴影区域透明度控制所述3D阴影区域的可见性。可选地,添加点九图(.9图)视觉边界是在PhotoShop中进行处理的,且所述视觉边界颜色为纯红色。可选地,通过识别所述点九图(.9图)的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,识别方法包括:首先,使用BitmapFactoty将所述点九图(.9图)转化为GRGB灰度图;其次,使用梯度法求得3组灰度梯度,其中红色梯度Gr为:Gr=|R(x,y)-R(x+1,y+1)|+|R(x+1,y)+R(x,y+1)|最后,对Gr函数输入图像分辨率x×y参数,求得4条视觉边界的最大坐标值。可选地,通过设置所述3D阴影区域的透明度控制所述3D阴影区域的可见性,包括:所述3D阴影区域的透明度取值为[0,1],当透明度取值为0时,表示关闭3D阴影,透明度取值为1时,表示开启3D阴影。可选地,所述内容区域透明度设置为1,表示所述内容区域为全可见状态。本专利技术另一方面提供一种电子设备,包括:处理器;存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行:采用内容拉伸边界的方法为点九图(.9图)添加视觉边界;通过识别所述点九图(.9图)的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,其中,所述内容区域为所述视觉边界矩形坐标封闭的区域;绘制所述内容区域及3D阴影区域,通过设置3D阴影区域透明度控制所述3D阴影区域的可见性。可选地,添加点九图(.9图)视觉边界是在PhotoShop中进行处理的,且所述视觉边界颜色为纯红色。可选地,通过识别所述点九图(.9图)的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,包括:首先,使用BitmapFactoty将所述点九图(.9图)转化为GRGB灰度图;其次,使用梯度法求得3组灰度梯度,其中红色梯度Gr为:Gr=|R(x,y)-R(x+1,y+1)|+|R(x+1,y)+R(x,y+1)|最后,对Gr函数输入图像分辨率x×y参数,求得4条视觉边界的最大坐标值。可选地,通过设置所述3D阴影区域的透明度控制所述3D阴影区域的可见性,包括:所述3D阴影区域的透明度取值为[0,1],当透明度取值为0时,表示关闭3D阴影,透明度取值为1时,表示开启3D阴影。可选地,所述内容区域透明度设置为1,表示所述内容区域为全可见状态。本公开的有益效果为:该方法使用带3D阴影效果的点九图(.9图),在需要3D阴影的时候绘制3D阴影区域,需要关闭3D阴影的时候采用重绘机制将3D阴影区域着色改为透明色,从而实现动态显示3D阴影的效果,同时,以点九图(.9图)的视觉边界来划分3D阴影区域,从而实现3D阴影区域与内容拉伸区域的分离,保证拉伸内容拉伸区域不会影响3D阴影区域,此外,点九图(.9图)的使用,使得3D阴影属性不存在低版本系统的兼容问题,且无需编写大量的API函数,由于采用有限的区域重绘(仅绘制3D区域),对资源的消耗也较低。附图说明为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:图1示意性示出了根据本公开的带3D阴影的CardView示意图;图2示意性示出了根据本公开实施例的安卓电视上3D阴影生成方法的流程图;图3示意性示出了根据本公开的内容区域与非内容区域的示意图;图4示意性示出了根据本公开实施例的携带有内容拉伸边界的点九图(.9图);图5示意性示出了根据本公开实施例的点九图(.9图)延上下左右四个方向拉伸后的效果示意图;图6示意性示出了根据本公开实施例的携带有视觉边界和内容拉伸边界的点九图(.9图);图7示意性示出了根据本公开实施例的3D阴影区域示意图;图8示意性示出了根据本公开实施例的电子设备的框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连本文档来自技高网...

【技术保护点】
1.一种安卓电视上的3D阴影生成方法,包括:S1,采用内容拉伸边界的方法为点九图添加视觉边界;S2,通过识别所述点九图的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,其中,所述内容区域为所述视觉边界矩形坐标封闭的区域;S3,绘制所述内容区域及3D阴影区域,通过设置3D阴影区域透明度控制所述3D阴影区域的可见性。

【技术特征摘要】
1.一种安卓电视上的3D阴影生成方法,包括:S1,采用内容拉伸边界的方法为点九图添加视觉边界;S2,通过识别所述点九图的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,其中,所述内容区域为所述视觉边界矩形坐标封闭的区域;S3,绘制所述内容区域及3D阴影区域,通过设置3D阴影区域透明度控制所述3D阴影区域的可见性。2.根据权利要求1所述的方法,其中:在所述操作S1中,添加点九图视觉边界是在图像处理软件中进行处理的,且所述视觉边界颜色为纯红色。3.根据权利要求1所述的方法,还包括:在所述操作S2中,通过识别所述点九图的视觉边界,从而获得3D阴影区域的坐标值及内容区域的坐标值,包括:S21:使用BitmapFactoty将所述点九图转化为GRGB灰度图;S22:使用梯度法求得3组灰度梯度,其中红色梯度Gr为:Gr=|R(x,y)-R(x+1,y+1)|+|R(x+1,y)+R(x,y+1)|S23:对Gr函数输入图像分辨率x×y参数,求得4条视觉边界的最大坐标值。4.根据权利要求1所述的方法,还包括:在所述操作S3中,通过设置所述3D阴影区域的透明度控制所述3D阴影区域的可见性,包括:所述3D阴影区域的透明度取值为[0,1],当透明度取值为0时,表示关闭3D阴影,透明度取值为1时,表示开启3D阴影。5.根据权利要求1所述的方法,还包括:所述内容区域透明度设置为1,表示内容区域为全可见状态。6.一种电子设备,包括:处理器;存储器,其存储...

【专利技术属性】
技术研发人员:尹成
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1