动态图形界面阴影的制作方法_2

文档序号:9912199阅读:来源:国知局
些实现方式中,触摸屏界面被用来提供输入。例如,用户可使用手指触摸触摸 屏界面并且在触摸屏界面上的接触点可是光标位置。在一些实现方式中,与触摸位置相关 联的显示对象可被显示。例如,放大镜或其他显示对象可被显示在邻近触摸位置的地方。在 一些实现方式中,与触摸位置相关联的显示对像可投射动态阴影。例如,如果放大镜被显 示,则与放大镜相关联的阴影可被生成。在一些实现方式中,可能不针对触摸输入位置显示 显示对象。在一些实现方式中,可为触摸屏界面上被触摸的区域生成动态阴影。例如,当用 户用手指触摸触摸屏界面时,可基于手指所触摸的触摸屏界面区域生成并显示动态阴影。 例如,如果被手指触摸的触摸屏界面区域是10个像素宽及20像素高的椭圆区域,则可基于 椭圆的尺寸和位置而生成动态阴影。例如,椭圆触摸区域可投射很像显示对象(例如,光标 108)的动态阴影。
[0027] 类似地,窗口 104和106可以投下阴影134和136。例如,阴影134可基于窗口 104和桌 面102之间的标高差而生成。这种情况下,由于桌面具有为零的标高,窗口 104的标高可被用 来生成阴影134。可为窗口 106生成阴影136。然而,阴影136被投射在具有两个不同标高的表 面(例如,窗口 104和桌面102)上。例如,窗口 104和106之间的标高差小于窗口 106和桌面102 之间的标高差。因此,阴影136的被投射在窗口 104上的部分与阴影136的被投射在桌面102 上的部分将具有不同的维度。例如,阴影136的生成于桌面102上的部分可看起来比阴影136 的生成于较近的窗口 104表面上的部分离窗口 106更远。另外,阴影的模糊半径和不透明度 可基于投射阴影的窗口和阴影生成于其上的对象之间的标高差而被调整。其他图形对象, 例如图标110~122,也能投射可基于图标的标高而被调整的阴影。
[0028]在一些实现方式中,显示对象能模糊阴影。例如,如果光标108的阴影应当在窗口 106之下被生成(例如,基于光标108的位置、窗口 106的标高和光源的角度),则不会为光标 108生成阴影,这是因为窗口 106将遮挡或隐藏该阴影。
[0029]图2不出了与图形用户界面GUI 100中的对象相关联的不同标尚的不例。例如,图2 可表示包括光标108、窗口 104和106、图标110~122以及桌面102的⑶I 100的侧视图。在图2 中,可清楚地看出各个图形对象的标高(例如,沿Z轴144)。例如,桌面102可具有为零的标 高,并且其他所有图形对象(例如,图标110~122、窗口 104、窗口 106、光标108等等)可具有 相对于桌面的标高。或者,标高可对应于表示每个对象距用户或显示屏200的距离的深度值 (例如,其中显示屏200具有为零的深度)。
[0030] 图形对象可被布置在显示屏200和桌面102之间的不同标高(或深度)处。例如,光 标108可具有标高' ΖΓ 202,其将光标108放置在界面100中的所有其他对象的之上,从而阻 止光标108被显示在界面100中的其他图形对象模糊。窗口 104可具有标高'Z2 ' 204。窗口 106 可具有窗口 104和光标108之间的标尚' Z3 206。图标110~122也可具有相关联的标尚(或深 度)。
[0031] 在一些实现方式中,被指派给对象的标高可相对于显示在用户界面100上的其他 对象。例如,光标108可被配置为显示在预定标高'E'处,而其他图形对象的标高可相对于E 而确定。在一些实现方式中,可从标高E中添加或者减去标高差以提供显示对象之间的间 距。标高差可被配置为5个单位(例如,像素、毫米、英寸等)。窗口 106的标高,例如,可被确定 为光标108之下5个单位。窗口 104的标高,例如,可被确定为光标108之下10个单元以及窗口 106之下5个单元。因此,其中图形对象被保持在其中图形对象的顺序也被保持的类阵列的 数据结构中,每个对象可根据标高差和对象在阵列中的位置而被显示。例如,阵列中的每个 显示对象可被定位在阵列中先前显示对象之下5个单位处。在一些实现方式中,标高(或深 度)可相对于桌面1〇2(例如,具有为零的标高)或相对于屏幕(例如,具有为零的深度)确定。 在一些实现方式中,标高差可被动态地确定。例如,如果桌面102具有为零(0)的标高,而屏 蒂200具有为五十(50)的标尚,则通过将屏蒂标尚50除以显不对象的数量而确定的标尚差, 显示对象可在桌面102和屏幕200之间均匀间隔开来。可使用用于动态确定显示对象的标高 差的其他方法。
[0032] 在一些实现方式中,图形对象的标高可用来生成对象阴影。在一些实现方式中,图 形对象的标高可用来确定与显示对象相关联的阴影的位置、尺寸、不透明度和/或模糊半 径。例如,为了在窗口 104上面生成光标108的阴影,必须确定标高差' ΔΖ1'208。为了这样 做,可从标高' ΖΓ 202中减去标高' Z2 ' 204。一旦' Δ ΖΓ 208被计算出来,阴影从光标108的水 平偏移(例如,沿X轴140)可基于光源与光标108相交的角度Θ的正切值(沿X轴140)和所计算 的值' ΔΖ1'208(例如,AXI=AZl/tan(0))而确定。竖直阴影偏移(例如,沿Y轴142)可以相 似的方式计算。在一些实现方式中,阴影偏移在每个像素的基础上被计算。例如,光标108的 每个像素可投射对应的阴影像素。阴影像素的位置可基于计算出的阴影偏移而确定。例如, 如果光标108的像素在水平坐标'X'处,并且像素偏移是五(5),则对应的阴影像素的位置可 以是'X+5'。因此,光标108的投射阴影(和其他显示对象、窗口、图标等)可基于光标108的尺 寸、形状和位置而实时地生成。
[0033] 在一些实现方式中,可以模拟光源。例如,光源的位置和光与屏幕上的对象相交的 角度可以是被配置的参数。在一些实现方式中,光源可被检测。例如,耦合到照相机的计算 设备可使用照相机来检测计算设备外部的光源并计算或得出外部光源相对于计算设备或 照相机的位置。因此,当计算设备和/或照相机被相对于外部光源移动时,由计算设备为显 示对象生成的动态阴影可被调整,以反映计算设备和外部光源之间相对位置的变化。
[0034] 在一些实现方式中,阴影的尺寸可随标高差(例如,投射阴影的对象和阴影被投射 于其上的对象之间的标高差)的增加而增加。例如,在标高上的每五(5)个像素,阴影的尺寸 可通过指定的百分比或其他机制被增加一(1)个像素。在一些实现方式中,阴影的不透明度 可基于标高差被调整。例如,对于在标高上的每三(3)个像素,阴影的不透明度可减少五个 百分点(5%)。在一些实现方式中,阴影的模糊半径可基于标高差被调整。例如,对于标高上 的每十(10)个像素,模糊半径可增加二十个百分点(20%)。在一些实现方式中,对尺寸、不 透明度和/或模糊半径的调整可在阴影的位置被确定之后应用。其他机制可被实施用来基 于对象标高调整阴影的位置、尺寸、不透明度和/或模糊半径。
[0035]在一些实现方式中,一旦显示对象(例如,窗口、图标、桌面等)的标高被确定,则所 确定的标尚被指派给显不对象的每个像素。例如,如果窗口 106具有为四十(40)的标尚,则 窗口 106的每个像素可被指派为四十的标高。如果窗口 104具有为三十五(35)的标高,则窗 口 104的每个像素可被指派为三十五的标高。因此,当渲染交叠的窗口 104和106时,如果来 自窗口 104的像素和来自窗口 106的像素占据相同的水平和竖直位置(例如,X、Y位置),则可 显不具有最大标尚的像素。这种情况下,因为窗口 106具有为40的标尚而窗口 104具有为35 的标高,与窗口 106相关联的像素将被显示。在一些实现方式中,为对象的每个像素指派所 计算的对象标高将导致对象具有平坦表面(例如,没有轮廓或纹理)。类似地,投射在这些平 坦对象上的阴影也将看起来是平坦的(例如,没有轮廓、纹理等)。
[0036]图3示出了示例图形用户界面300,其中图形元素被配置为具有像素标高偏移信 息。在一些实现方式中,图形显示对象(例如,窗口、图标、桌面、图形用户界面、图形元素等) 可被配置为具有将显示对象的每个像素与标高偏移值相关联的像素标高偏移信息。例如, 如上文关于图2所描述的,像素标高偏移信息可以是能添加到对象的所确定的标高或者从 其减去的标高值。因此,一旦针对对象已确定了标高,则所确定的标高可基于该对象的预配 置的像素标高偏移信息而调整。
[0037]在一些实现方式中,像素标高偏移信息可被配置来为图形显示对象提供轮廓和/ 或纹理。在一些实现方式中,GUI 300可包括具有像素标高偏移信息的窗口302和窗口304。 例如,窗口 302可表示电子书应用程序的图形用户界面。电子书应用程序的开发者可以将窗 口302的像素配置为具有对应于打开的书本的轮廓的标高偏移信息,如参照图4将更详细地 描述的。在一些实现方式中,窗口 304可被配置为具有像素偏移信息来将图形元
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1