一种动态壁纸与桌面组件进行交互的实现方法

文档序号:6424606阅读:430来源:国知局
专利名称:一种动态壁纸与桌面组件进行交互的实现方法
技术领域
本发明涉及终端设备显示领域,特别涉及一种用于移动终端的动态壁纸与桌面组件进行交互的实现方法。
背景技术
壁纸是指计算机、液晶显示器、手机等终端设备所使用的屏幕背景图片,利用屏幕背景图片的美感为用户带来视觉享受,用户还可以根据个人喜好、使用习惯等需要随意更换屏幕背景图片。动态壁纸是在壁纸的基础上发展起来的一种动画式图片,其由至少两层图片组成,包括一位于最底层的图片,即背景图片;以及若干个叠加在背景图片之上的附加图片。动态壁纸的本质是在背景图片上加载若干层附加图片,并通过代码实现所需的各种动画效果,最后在终端屏幕上显示。动态壁纸能够将终端设备的屏幕装饰得更加生动、立体和美观,且其安装过程简单、使用方便,逐渐受到了各年龄层次用户的青睐。目前,动态壁纸在手机等智能终端上的应用越来越广泛。然而,动态壁纸的效果固然炫酷,但作为壁纸,它是位于终端屏幕的最底层,而屏幕的上层还设置了一些桌面组件、控件和图标。目前,由于动态壁纸与桌面组件、控件和图标之间不存在相关的接口,也不能实现对桌面组件等元件的位置检测,因此,动态壁纸与桌面组件之间无法进行交互。所以,动态壁纸的动态效果会被位于上层的桌面组件、控件和图标遮挡,从而大大影响了动态效果的表现力,不能充分体现动态壁纸的优越性,不能给用户带来生动的视觉体验。

发明内容
本发明提供了一种动态壁纸与桌面组件进行交互的实现方法,解决了动态壁纸与桌面组件之间无法进行交互的难题,利用像素对比和边缘提取的技术手段,使得动态壁纸和桌面组件产生一定程度的交互,实现渲染特效,从而提升界面动态效果的真实度、美观度和个性化程度。本发明是采用以下技术方案来实现的一种动态壁纸与桌面组件进行交互的实现方法,包括如下步骤1)在终端屏幕上设置一动态壁纸,该动态壁纸包括一背景图片和若干个附加图片,并在终端屏幕上设置至少一个桌面组件;2)设置一屏幕截取模块,截取加载至少一个桌面组件后的背景图片作为缓冲文件,并将其编码为图片格式存储;3)设置一边缘检测模块,将背景图片与步骤2)所存储的缓冲图片进行像素扫描比较;4)循环执行所述步骤幻,直至获得至少一个桌面组件的边缘位置数据;5)根据步骤4)所得至少一个桌面组件的边缘位置数据,使桌面组件与动态壁纸产生交互,并改变动态壁纸的动态效果。进一步,将背景图片和缓冲图片分别用笛卡尔坐标系表示,图片的每一个像素都
与坐标值一一对应。步骤幻进一步包括根据每一个像素所对应的坐标值,比较相同坐标的背景图片的像素与缓冲图片的像素,并判断比较结果是否落在容差范围之内。步骤3)的判断过程进一步包括当相同坐标的背景图片像素与缓冲图片像素的差值落在容差范围之内时,则判定为相同像素,继续比较下一像素;当相同坐标的背景图片像素与缓冲图片像素的差值落在容差范围之外时,则判定为不同像素,判定该坐标位置为所述至少一个桌面组件的边缘,并将该坐标信息储存。进一步,所述容差范围为[50,100]。步骤4)进一步包括判断背景图片和缓冲图片的所有像素是否比较完毕,若完成所有像素的比较,则根据所有存储的边缘坐标信息,提取至少一个桌面组件的边缘坐标;若未完成所有像素的比较,则比较下一像素。所述步骤2~)至步骤4)获取桌面组件边缘的过程与步骤幻对桌面组件进行特效处理的过程是异步运行的。步骤幻中,所述缓冲文件编码为位片格式。本发明实现的关键在于准确获得桌面组件的边缘,为了不影响用户体验,该边缘检测必须高效。本发明针对动态壁纸的背景图片与加载桌面组件后的缓冲图片不同的特点,采用像素扫描对比的方法进行边缘检测。本发明所述方法,克服了传统的数字分析检测边缘方法准确率和效率都不高的缺陷,能够快捷高效,灵活准确地检测出屏幕上桌面组件的位置和边缘,然后通过渲染引擎进一步将动态效果加载至桌面组件之上,从而实现桌面组件与动态背景之间的相关的交互逻辑。同时,本发明所采用的边缘检测是灵活高效的,可以通过改变容差范围适应各种不同的用户需求。在具体实施过程中,根据具体情况采用适合的像素比较顺序,提高边缘检测效率,节约运算时间。此外,本发明所述屏幕截取、边缘检测、渲染都是异步执行的,动态图片的渲染步骤不会被阻塞,从而保证用户体验不受到影响。
以下结合附图和具体实施方式
来进一步说明本发明。

图1为本发明所述方法一种优选实施例的流程图。图2(a)为本发明所述方法中动态壁纸的像素笛卡尔坐标示意图。图2(b)为本发明所述方法中缓冲图片的像素笛卡尔坐标示意图。
具体实施例方式为了使本发明实现的技术手段、创作特性、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。实施例1
4
具体实施方式
的终端以智能手机为例,采用目前智能手机上较为常用的安卓 (Android)平台来实现。根据手机设置,在手机屏幕底层上设置一动态壁纸,在本实施例中, 选取一下雪的动态壁纸图片,尺寸为320*240。该动态壁纸由一静态背景图片和若干个大小不一的雪花图形叠加组成。该图片的动态效果是,雪花不断从屏幕上方往下落,到达屏幕下方边缘处消失。在该手机屏幕上层的任意位置设有一正方形桌面组件,该组件具有计算功能,用户在手机桌面上可直接点击该组件,使用计算器。 请参见图1所示,本发明所述方法的实现步骤如下1)在Android平台下,采用Linux底层驱动,启动手机桌面的动态壁纸,将该动态壁纸的背景图片储存在手机SD卡的指定路径下;并在手机桌面的任意位置设置一桌面组件。2)设置一屏幕截取模块,用于读取屏幕的缓冲文件数据,即对在背景图片上加载了桌面组件的屏幕截屏,并将截取的图片编码为位片(bmp),此处称为缓冲图片(或缓存图片),存于手机SD卡的指定路径下。3)设置一边缘检测模块,将动态壁纸中的背景图片与步骤2)所读取的缓冲图片进行每一个的像素扫描比较。4)循环执行上述步骤3),直至完成背景图片和缓冲图片的所有像素的比较,并获得桌面组件的边缘数据。5)利用步骤4)所得桌面组件的边缘数据信息,对桌面组件进行交互特效处理。请参见图2(a)、(b)所示,将图片以笛卡尔直角坐标系的形式表示,包含水平和垂直方向上的像素数。背景图片尺寸为320*240,共76800像素,以左上角为(0,0)坐标原点, 底边缘为X轴,表示水平像素数,最大值为240,左边缘为Y轴,表示垂直像素数,最大值为 320。因此,背景图片的每一个像素都能用唯一的坐标值(X,Y)来表示。同样,尺寸相同的缓冲图片的每一个像素也能用唯一的坐标轴(X’,Y’ )来表示,图2(b)中黑色区域表示桌面组件所在位置。在本实施例中,背景图片和缓冲图片二者的像素比较顺序是从原点开始,依次比较两幅图片中同一纵坐标、不同横坐标(沿横轴箭头方向)的每一个像素,完成后沿纵轴向下改变纵坐标值,并重复上述比较过程,如此反复直至完成所有像素的比较。本发明所述步骤3)具体是指将相同坐标所表示的背景图片的每一个像素与缓冲图片的每一个像素进行比较,即对ARGB颜色分量进行异或运算。由于RGB颜色单原色取值范围为W,255],根据经验,将两幅图片颜色分量的差值在[50,100]之内的像素,判定为相同像素,即判断二者的差值是否落在容差范围[50,100]之内,步骤3)进一步包括以下判断过程31)若二者的差值在容差范围[50,100]之内,则认为是相同像素,继续比较下一
像素;32)若二者的差值在容差范围[50,100]之外,则认为是不同像素,判断该位置为桌面组件的边缘,并将该位置的坐标信息存入边缘数据结构中。上述容差范围可根据实际图片的尺寸等要求进行调节。容差范围越大,表示获得桌面组件的边界越模糊;容差范围越小,表示获得桌面组件的边界越狭窄。一个合理的容差值对边缘检测的效果影响巨大。在本实施例中,容差范围以[50,100]为最佳。在本实施例中,经过上述步骤3)的循环边缘检测后,在边缘数据结构中存储了不同像素的坐标位置信息,即表示桌面组件的边缘坐标位置。当判定背景图片和缓冲图片的所有像素都比较完毕时,步骤4)将所有储存的边缘坐标位置信息进行整合,从而得到桌面组件的边缘数据,即获得桌面组件在图片笛卡尔坐标系中的坐标位置。 将步骤5)所得桌面组件的边缘数据信息同步传递给一渲染引擎,渲染引擎根据所检测到的桌面组件边缘坐标信息,实时对桌面组件进行相关的交互逻辑和渲染特效处理。上述步骤2) 4)对桌面组件进行边缘提取的线程与步骤5)的动态效果渲染处理线程是异步运行的,即边缘提取和特效处理不在同一线程中顺序运行,而是以两个不同线程交替运行,检测桌面组件边缘,并根据所检测的边缘信息实时改变壁纸的动态效果。在本实施例中,步骤5)所实现的动态效果是当正在飘落的雪花在接触到桌面组件的边缘时,雪花能够附着于桌面组件的上边缘,并逐渐堆积。步骤5)的渲染特效可根据用户的不同需求进行,不同方式的渲染能给人带来不同的视觉效果,由于本发明所涉及的渲染技术为本技术领域较为常见的技术,在此不做详述。实施例2本实施例2与实施例1大致相同,其不同之处在于本实施例中的实现步骤3)中, 对原始图片和缓冲图片每一个像素进行比较的顺序是无规则的。其中步骤3)还进一步包括33)若比较判定出某一个像素为不同像素,则立即对该像素的相邻像素值进行对比,以便更迅速地检测出桌面组件的边缘位置。每一个像素的比较顺序可以根据具体的实现效果进行灵活配置,不局限于本发明所例举的实施方式。实施例3本实施例3与实施例1大致相同,其不同之处在于本实施例采用的动态背景图片为一熊熊燃烧的火焰,在该动态背景图片中所设置的桌面组件形状呈圆形。依照本发明所述方法可对该圆形桌面组件的边缘进行提取。而在步骤5)中,其动态效果设定为根据手机从启动状态至待机状态工作时间的长度,采用本技术领域常用的渲染手段,实现将圆形桌面组件随时间增加而逐渐烧红的特殊视觉效果。实施例4本实施例4与实施例1大致相同,其不同之处在于本实施例采用3个桌面组件, 桌面组件可以为任意形状,本实施例中分别采用长方形、正方形和三角形的桌面组件。依照本发明所述方法可对该3个桌面组件的边缘进行提取。而在步骤5)中,实现动态效果为当雪花从屏幕顶端向下飘落时,如果接触到3个桌面组件中任一桌面组件的边缘,则改变雪花滑落的轨迹,使其沿该边缘滑落。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本实用新型的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种动态壁纸与桌面组件进行交互的实现方法,其特征在于,包括如下步骤1)在终端屏幕上设置一动态壁纸,该动态壁纸包括一背景图片和若干个附加图片,并在终端屏幕上设置至少一个桌面组件;2)设置一屏幕截取模块,截取加载至少一个桌面组件后的背景图片作为缓冲文件,并将其编码为图片格式存储;3)设置一边缘检测模块,将背景图片与步骤幻所存储的缓冲图片进行像素扫描比较;4)循环执行所述步骤幻,直至获得至少一个桌面组件的边缘位置数据;5)根据步骤4)所得至少一个桌面组件的边缘位置数据,使桌面组件与动态壁纸产生交互,并改变动态壁纸的动态效果。
2.根据权利要求1所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于将背景图片和缓冲图片分别用笛卡尔坐标系表示,图片的每一个像素都与坐标值一一对应。
3.根据权利要求2所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于步骤幻进一步包括根据每一个像素所对应的坐标值,比较相同坐标的背景图片的像素与缓冲图片的像素,并判断比较结果是否落在容差范围之内。
4.根据权利要求3所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于步骤3)的判断过程进一步包括当相同坐标的背景图片像素与缓冲图片像素的差值落在容差范围之内时,则判定为相同像素,继续比较下一像素;当相同坐标的背景图片像素与缓冲图片像素的差值落在容差范围之外时,则判定为不同像素,判定该坐标位置为所述至少一个桌面组件的边缘,并将该坐标信息储存。
5.根据权利要求4所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于所述容差范围为[50,100]。
6.根据权利要求4所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于步骤4)进一步包括判断背景图片和缓冲图片的所有像素是否比较完毕,若完成所有像素的比较,则根据所有存储的边缘坐标信息,提取至少一个桌面组件的边缘坐标;若未完成所有像素的比较,则比较下一像素。
7.根据权利要求1-6中任一权利要求所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于所述步骤幻至步骤4)获取桌面组件边缘的过程与步骤幻对桌面组件进行特效处理的过程是异步运行的。
8.根据权利要求1所述的一种动态壁纸与桌面组件进行交互的实现方法,其特征在于步骤幻中,所述缓冲文件编码为位片格式。
全文摘要
本发明公开了一种动态壁纸与桌面组件进行交互的实现方法,包括如下步骤1)在终端屏幕上设一动态壁纸及至少一个桌面组件,该动态壁纸包括一背景图片;2)设置一屏幕截取模块,截取加载桌面组件后的背景图片的缓冲文件,将其编码为图片格式存储;3)设置一边缘检测模块,将背景图片与所存储的缓冲图片进行像素扫描比较;4)循环执行步骤3),直至获得至少一个桌面组件的边缘位置数据;5)根据步骤4)所得数据改变动态壁纸的动态效果。本发明克服了传统的边缘检测方法的缺陷,高效灵活地检测出桌面组件的位置和边缘,使动态壁纸和桌面组件产生一定程度的交互,实现动态特效,从而提升界面动态效果的真实性、美观度和个性化程度。
文档编号G06F9/44GK102221996SQ201110132580
公开日2011年10月19日 申请日期2011年5月20日 优先权日2011年5月20日
发明者于鑫, 邓裕强, 黄爱华 申请人:广州市久邦数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1