CN105678837A - 动态图形界面阴影 - Google Patents
动态图形界面阴影 Download PDFInfo
- Publication number
- CN105678837A CN105678837A CN201610096603.5A CN201610096603A CN105678837A CN 105678837 A CN105678837 A CN 105678837A CN 201610096603 A CN201610096603 A CN 201610096603A CN 105678837 A CN105678837 A CN 105678837A
- Authority
- CN
- China
- Prior art keywords
- absolute altitude
- pixel
- shade
- window
- implementations
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 23
- 239000013589 supplement Substances 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 241000406668 Loxodonta cyclotis Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005415 magnetization Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- HOWHQWFXSLOJEF-MGZLOUMQSA-N systemin Chemical compound NCCCC[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)OC(=O)[C@@H]1CCCN1C(=O)[C@H]1N(C(=O)[C@H](CC(O)=O)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H]2N(CCC2)C(=O)[C@H]2N(CCC2)C(=O)[C@H](CCCCN)NC(=O)[C@H](CO)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](NC(=O)[C@H](C)N)C(C)C)CCC1 HOWHQWFXSLOJEF-MGZLOUMQSA-N 0.000 description 1
- 108010050014 systemin Proteins 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/507—Depth or shape recovery from shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04802—3D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04809—Textured surface identifying touch areas, e.g. overlay structure for a virtual keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/12—Shadow map, environment map
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
描述了动态图形界面阴影。更具体而言,描述了动态窗口阴影和光标阴影。在一些实现方式中,图形用户界面显示对象可被配置有标高偏移信息,来给予显示对象可具有不同高度的像素的三维显示表面。在一些实现方式中,在配置有像素标高偏移信息的显示对象上渲染的阴影可被调整以反映对象的三维表面,从而更接近于真实生活中的阴影。在一些实现方式中,阴影可根据其被投影于其上的显示对象的标高被实时地动态渲染和调整。
Description
本申请是申请日为2012年9月28日、发明名称为“动态图形界面阴影”的中国专利申请201210473228.3的分案申请。
技术领域
本公开内容一般地涉及图形用户界面和渲染三维效果。
背景技术
图形用户界面经常采用阴影技术来在二维表面上提供深度错觉。通常,图形用户界面使用具有预定特性的阴影,预定特性诸如预定尺寸或者距投射阴影的对象或阴影与之相关联的对象的预定距离。尽管这些技术可提供深度错觉,但这些静态阴影并不能随图形用户界面对象的轮廓而调整,从而不能提供自然或真实的外观与感觉。
发明内容
描述了动态图形界面阴影。在一些实现方式中,图形用户界面显示对象可被配置为具有标高(elevation)偏移信息,来给予显示对象可具有不同高度(height)的像素的三维表面。在一些实现方式中,在被配置为具有像素标高偏移信息的显示对象上渲染的阴影可被调整来反映对象的三维表面,从而更近似于真实生活中的阴影。在一些实现方式中,阴影能根据其被投射于其上的显示对象的标高被实时地动态渲染和调整。
特定的实现方式提供至少以下优点:阴影能看起来更真实并更好地传达用户界面元素的相对位置。针对每个像素的标高图允许复杂纹理和表面的建模。动态阴影可被实现为允许硬件加速的图形处理单元(GPU)滤波器。在其它方面平坦的图形用户界面元素可被配置为具有高度变化的三维表面。在三维表面上渲染的阴影可根据三维表面被扭曲。
通过下文的附图和描述来阐述一个或多个实现方式的细节。其他特征、方面和潜在优点将通过说明书、附图和权利要求变得显然。
附图说明
图1示出了具有动态阴影的示例图形用户界面。
图2示出了与图1的图形用户界面中的对象相关联的不同标高的示例。
图3示出了其中图形元素被配置为具有像素标高偏移信息的示例图形用户界面。
图4示出了配置有像素标高偏移信息的示例显示对象。
图5示出了提供像素标高图的示例图形用户界面编辑器。
图6示出了包括标高偏移信息的像素颜色数据的示例。
图7是生成显示对象的动态阴影的示例过程的流程图。
图8是配置像素深度偏移的示例过程的流程图。
图9是实现了图1~8的特征和过程的示例性系统架构的方框图。
图10是根据本公开内容的实施例的设备1000的方框图。
图11是根据本公开内容的实施例的设备1100的方框图。
各个附图中的类似参考标记指示类似的元件。
具体实施方式
现代计算机显示器和图形界面经常尝试模拟真实生活中的三维对象和空间。通常,三维模拟通过阴影的使用来在二维图像上给予深度的外观。另外,二维图形界面上的对象布置可被用来暗示对象的深度和/或分层。例如,桌面比喻被通常用于计算机显示器上,以布置并显示窗口、文件、图像、图标和其他对象。桌面上的对象可以重叠(例如,重叠窗口)或遮挡其他对象(例如,位于桌面图标上面的窗口可以隐藏或遮挡这些图标)。对象的重叠和遮挡能暗示对象的分层或与每个对象相关联的深度或标高。例如,分层可暗示用户桌面上的对象被堆叠在彼此之上,使得每个对象位于离桌面不同的标高处。对象相对于桌面(或屏幕、或用户)的标高(例如,高度或深度)能暗示第三个维度。因此,可以说图形用户界面具有沿X轴的水平维度、沿Y轴的竖直维度和沿Z轴的标高维度(例如,Z轴与桌面和显示屏幕相垂直),并且显示对象可根据X、Y和Z坐标被定位在显示区域内。
在一些实现方式中,对象的标高(例如,窗口、图标、光标和用户界面元素等的标高)可被用来调整对象阴影以提供更真实的和动态调整的阴影。在一些实现方式中,图形用户界面的像素(例如,显示对象、图形元素的像素等)可被配置为具有标高偏移,以生成具有不同标高的有轮廓的表面的用户界面元素。例如,像素标高偏移可以是被添加到显示对象的标高(或从其减去)来为显示对象提供有轮廓的表面的标高值。在一些实现方式中,像素标高偏移可被用来生成适应图形用户界面对象和元素的有轮廓的表面的阴影。
图1示出了具有动态阴影的示例图形用户界面(GUI)100。GUI100是可被呈现在计算设备(例如,台式电脑、平板电脑、智能电话和膝上式电脑等等)的显示器上的用户界面。GUI100可包括桌面图形界面(“桌面”)102。例如,桌面图形界面102能呈现可被用来为用户提供对计算设备上的应用程序、文档和文件的访问的桌面比喻。GUI100可包括窗口104和窗口106。例如,窗口104和窗口106可以是用于呈现计算没备的各个应用程序的用户界面的应用程序窗口。在一些实现方式中,窗口104和窗口106可被布置和/或分层在不同标高处。例如,桌面102可具有为零的标高,窗口104可具有为十(10)的标高,而窗口106可具有为二十(20)的标高。在一些实现方式中,当窗口被用户移动或重排时,窗口的标高可被动态地确定。例如,用户可选择窗口104,使得窗口104成为最顶上的窗口。当窗口104被选择时,其他窗口(例如,窗口106)可被布置在窗口104下面(例如,位于较低的标高处)。
在一些实现方式中,对象的标高可基于由计算设备指派给对象的顺序而被确定。例如,计算设备可保持显示在GUI100上的对象的列表或阵列。每个窗口、图标、光标或其他对象能在阵列中占据位置。图形对象的显示位置(例如,标高、层级、标高等)可对应于对象在阵列中的位置(例如,索引(index))。例如,占据阵列中的第一位置的对象可被显示在顶部(例如,具有最高的标高),占据阵列中的第二位置的对象可被显示在第一对象下面,等等。当来自阵列中间的对象被选择时(例如,用户选择显示窗口并且其成为当前工作窗口),被选择的对象可被移动到阵列中的第一位置并且阵列中的其他对象可改变位置。GUI100可被更新以反映显示对象在阵列中的经调整位置(例如,被选择的窗口将增加标高以成为GUI100中的最顶上的窗口)。因此,图形对象可被显示在反映对象在阵列中的相对位置的GUI100的标高处。
GUI100可包括光标108。例如,用户可采用光标108来与GUI100、桌面102、窗口104和106、图标110~122和/或显示在GUI100上的其他对象交互。例如,用户可操纵光标108来选择窗口104,并使得窗口104成为最顶上的窗口。光标108可与标高相关联。例如,光标108可具有GUI100上显示的任意对象的最高标高,使得光标108总是在其他图形对象的顶上。因此,例如,如果桌面102具有为零的标高,窗口104具有为十(10)的标高,而窗口106具有为二十(20)的标高,则光标108可具有为三十(30)的标高。
在一些实现方式中,图形用户界面对象(例如,窗口104和106、光标108和图标110~122)可基于对象的相应位置(包括标高)和模拟的或检测的光源的位置(例如,角度)来投射阴影。例如,GUI100上的每个对象可具有水平位置(例如,沿X轴140)、竖直位置(例如,沿Y轴142)、和标高(例如,沿Z轴144)。为对象生成的阴影的位置可根据光源的位置以及投射阴影的对象(例如,遮挡对象)和阴影落到其上的对象(例如,被遮挡对象)之间的标高差而调整。另外,对象的阴影的尺寸、模糊半径和不透明度可基于阴影从投射该阴影的对象下降至多远而被调整。
在一些实现方式中,光标108可具有相应的投射阴影130或132。例如,当光标在GUI100中移动时,阴影(例如,阴影130或132)可追随光标,以使得光标看起来像在桌面之上浮动。在一些实现方式中,阴影130、132的尺寸和位置可基于光标的标高和阴影投射于其上的对象的标高而被调整。例如,如果光标108在窗口106上面,则阴影130的尺寸和位置可基于光标108的标高和窗口106的标高之间的差而被调整。在这个示例中,光标108和窗口106的标高差小,从而阴影130被定位成靠近光标108,并且阴影将与该光标具有大致相同的尺寸。作为对照的是,窗口104的标高小于窗口106的标高,从而窗口104和光标108之间较大的标高差导致阴影132被定位成更远离光标108。另外,阴影132的模糊半径、不透明度和尺寸可被调整来考虑光标108和窗口104之间的标高差,并提供更真实的阴影外观。
在一些实现方式中,触摸屏界面被用来提供输入。例如,用户可使用手指触摸触摸屏界面并且在触摸屏界面上的接触点可是光标位置。在一些实现方式中,与触摸位置相关联的显示对象可被显示。例如,放大镜或其他显示对象可被显示在邻近触摸位置的地方。在一些实现方式中,与触摸位置相关联的显示对像可投射动态阴影。例如,如果放大镜被显示,则与放大镜相关联的阴影可被生成。在一些实现方式中,可能不针对触摸输入位置显示显示对象。在一些实现方式中,可为触摸屏界面上被触摸的区域生成动态阴影。例如,当用户用手指触摸触摸屏界面时,可基于手指所触摸的触摸屏界面区域生成并显示动态阴影。例如,如果被手指触摸的触摸屏界面区域是10个像素宽及20像素高的椭圆区域,则可基于椭圆的尺寸和位置而生成动态阴影。例如,椭圆触摸区域可投射很像显示对象(例如,光标108)的动态阴影。
类似地,窗口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,也能投射可基于图标的标高而被调整的阴影。
在一些实现方式中,显示对象能模糊阴影。例如,如果光标108的阴影应当在窗口106之下被生成(例如,基于光标108的位置、窗口106的标高和光源的角度),则不会为光标108生成阴影,这是因为窗口106将遮挡或隐藏该阴影。
图2示出了与图形用户界面GUI100中的对象相关联的不同标高的示例。例如,图2可表示包括光标108、窗口104和106、图标110~122以及桌面102的GUI100的侧视图。在图2中,可清楚地看出各个图形对象的标高(例如,沿Z轴144)。例如,桌面102可具有为零的标高,并且其他所有图形对象(例如,图标110~122、窗口104、窗口106、光标108等等)可具有相对于桌面的标高。或者,标高可对应于表示每个对象距用户或显示屏200的距离的深度值(例如,其中显示屏200具有为零的深度)。
图形对象可被布置在显示屏200和桌面102之间的不同标高(或深度)处。例如,光标108可具有标高‘Z1’202,其将光标108放置在界面100中的所有其他对象的之上,从而阻止光标108被显示在界面100中的其他图形对象模糊。窗口104可具有标高‘Z2’204。窗口106可具有窗口104和光标108之间的标高‘Z3’206。图标110~122也可具有相关联的标高(或深度)。
在一些实现方式中,被指派给对象的标高可相对于显示在用户界面100上的其他对象。例如,光标108可被配置为显示在预定标高‘E’处,而其他图形对象的标高可相对于E而确定。在一些实现方式中,可从标高E中添加或者减去标高差以提供显示对象之间的间距。标高差可被配置为5个单位(例如,像素、毫米、英寸等)。窗口106的标高,例如,可被确定为光标108之下5个单位。窗口104的标高,例如,可被确定为光标108之下10个单元以及窗口106之下5个单元。因此,其中图形对象被保持在其中图形对象的顺序也被保持的类阵列的数据结构中,每个对象可根据标高差和对象在阵列中的位置而被显示。例如,阵列中的每个显示对象可被定位在阵列中先前显示对象之下5个单位处。在一些实现方式中,标高(或深度)可相对于桌面102(例如,具有为零的标高)或相对于屏幕(例如,具有为零的深度)确定。在一些实现方式中,标高差可被动态地确定。例如,如果桌面102具有为零(0)的标高,而屏幕200具有为五十(50)的标高,则通过将屏幕标高50除以显示对象的数量而确定的标高差,显示对象可在桌面102和屏幕200之间均匀间隔开来。可使用用于动态确定显示对象的标高差的其他方法。
在一些实现方式中,图形对象的标高可用来生成对象阴影。在一些实现方式中,图形对象的标高可用来确定与显示对象相关联的阴影的位置、尺寸、不透明度和/或模糊半径。例如,为了在窗口104上面生成光标108的阴影,必须确定标高差‘ΔZ1’208。为了这样做,可从标高‘Z1’202中减去标高‘Z2’204。一旦‘ΔZ1’208被计算出来,阴影从光标108的水平偏移(例如,沿X轴140)可基于光源与光标108相交的角度θ的正切值(沿X轴140)和所计算的值‘ΔZ1’208(例如,ΔXI=ΔZ1/tan(θ))而确定。竖直阴影偏移(例如,沿Y轴142)可以相似的方式计算。在一些实现方式中,阴影偏移在每个像素的基础上被计算。例如,光标108的每个像素可投射对应的阴影像素。阴影像素的位置可基于计算出的阴影偏移而确定。例如,如果光标108的像素在水平坐标‘X’处,并且像素偏移是五(5),则对应的阴影像素的位置可以是‘X+5’。因此,光标108的投射阴影(和其他显示对象、窗口、图标等)可基于光标108的尺寸、形状和位置而实时地生成。
在一些实现方式中,可以模拟光源。例如,光源的位置和光与屏幕上的对象相交的角度可以是被配置的参数。在一些实现方式中,光源可被检测。例如,耦合到照相机的计算设备可使用照相机来检测计算设备外部的光源并计算或得出外部光源相对于计算设备或照相机的位置。因此,当计算设备和/或照相机被相对于外部光源移动时,由计算设备为显示对象生成的动态阴影可被调整,以反映计算设备和外部光源之间相对位置的变化。
在一些实现方式中,阴影的尺寸可随标高差(例如,投射阴影的对象和阴影被投射于其上的对象之间的标高差)的增加而增加。例如,在标高上的每五(5)个像素,阴影的尺寸可通过指定的百分比或其他机制被增加一(1)个像素。在一些实现方式中,阴影的不透明度可基于标高差被调整。例如,对于在标高上的每三(3)个像素,阴影的不透明度可减少五个百分点(5%)。在一些实现方式中,阴影的模糊半径可基于标高差被调整。例如,对于标高上的每十(10)个像素,模糊半径可增加二十个百分点(20%)。在一些实现方式中,对尺寸、不透明度和/或模糊半径的调整可在阴影的位置被确定之后应用。其他机制可被实施用来基于对象标高调整阴影的位置、尺寸、不透明度和/或模糊半径。
在一些实现方式中,一旦显示对象(例如,窗口、图标、桌面等)的标高被确定,则所确定的标高被指派给显示对象的每个像素。例如,如果窗口106具有为四十(40)的标高,则窗口106的每个像素可被指派为四十的标高。如果窗口104具有为三十五(35)的标高,则窗口104的每个像素可被指派为三十五的标高。因此,当渲染交叠的窗口104和106时,如果来自窗口104的像素和来自窗口106的像素占据相同的水平和竖直位置(例如,X、Y位置),则可显示具有最大标高的像素。这种情况下,因为窗口106具有为40的标高而窗口104具有为35的标高,与窗口106相关联的像素将被显示。在一些实现方式中,为对象的每个像素指派所计算的对象标高将导致对象具有平坦表面(例如,没有轮廓或纹理)。类似地,投射在这些平坦对象上的阴影也将看起来是平坦的(例如,没有轮廓、纹理等)。
图3示出了示例图形用户界面300,其中图形元素被配置为具有像素标高偏移信息。在一些实现方式中,图形显示对象(例如,窗口、图标、桌面、图形用户界面、图形元素等)可被配置为具有将显示对象的每个像素与标高偏移值相关联的像素标高偏移信息。例如,如上文关于图2所描述的,像素标高偏移信息可以是能添加到对象的所确定的标高或者从其减去的标高值。因此,一旦针对对象已确定了标高,则所确定的标高可基于该对象的预配置的像素标高偏移信息而调整。
在一些实现方式中,像素标高偏移信息可被配置来为图形显示对象提供轮廓和/或纹理。在一些实现方式中,GUI300可包括具有像素标高偏移信息的窗口302和窗口304。例如,窗口302可表示电子书应用程序的图形用户界面。电子书应用程序的开发者可以将窗口302的像素配置为具有对应于打开的书本的轮廓的标高偏移信息,如参照图4将更详细地描述的。在一些实现方式中,窗口304可被配置为具有像素偏移信息来将图形元素与不同标高相关联。例如,窗口304可具有凸起按钮306,其中按钮306的像素被配置为具有正的标高偏移。窗口304可具有凹进图像308,例如,其中凹进图像308的像素被配置为具有负的标高偏移。在一些实现方式中,可通过考虑像素标高偏移信息而生成投射到窗口302和304上的阴影。因此,根据指派给窗口的像素的像素标高偏移信息,在窗口302和304上生成的阴影可以具有轮廓的、纹理的和/或变化的呈现。
图4示出了配置有像素标高偏移信息的示例显示对象302。例如,显示对象302可被配置为具有轮廓的表面402。轮廓的表面402可通过将显示对象302的像素配置具有标高偏移信息而生成。例如,轮廓的表面402的虚线中的每个点可表示像素和显示对象302的该像素的对应标高。例如,如果显示对象302是用于电子书应用程序的图形用户界面,则显示对象302的每个像素可被配置为具有模拟物理书本的轮廓的标高偏移。例如,书页侧面(例如,在书本的模拟的装订处)的像素的标高偏移值可具有小的偏移404,而接近书页中间的像素的标高偏移值可具有较大的偏移406。当电子书界面被渲染在计算设备的屏幕上时,像素标高偏移可从为显示对象302所确定的标高中添加(或减去)。
在一些实现方式中,像素标高偏移信息可被用来生成投射阴影。例如,光标108投射阴影410在显示对象302上。由于显示对象302被配置为具有模拟打开的书本的轮廓的像素标高偏移信息,阴影410可被生成为遵循书本的轮廓。例如,阴影410可基于为显示对象302所确定的标高和为显示对象302的每个像素所配置的像素标高偏移信息而生成。当光标108在书本上移动时,光标可被调整以遵循书本的轮廓,从而接近于真实生活中的阴影。
在一些实现方式中,为显示对象所生成的阴影可基于针对显示对象的输入而调整。例如,光标108的阴影可如上所述地被生成。用户可提供输入至(或通过)光标108。用户可执行选择操作(例如,鼠标点击)来使得光标108之下的对象被选择或以其它方式被操作。例如,显示对象302可呈现模拟打开的书本的电子书应用程序的轮廓的图形用户界面。显示对象302可被配置为允许用户使用光标108翻转书本的书页。当光标108被定位在显示对象302上面时,用户可提供输入至光标108(例如,鼠标点击)来使得电子书的书页翻转。在一些实现方式中,与光标108相关联的投射阴影可被调整以模拟将光标降低到显示对象302的表面上。例如,光标108的标高可被调整直至光标108的标高实质上与显示对象302的标高相同。与光标108相关联的投射阴影可根据光标108的标高变化而被调整。因此,光标投射阴影将被激活而移动至更接近于光标的位置,直至当光标看起来是触摸显示对象302的表面时(例如,光标具有与显示对象302表面实质相同的标高,如果有的话,还包括任何标高偏移),它看起来位于光标下面或消失为止。
图5示出了提供可配置像素标高图的示例图形用户界面编辑器500。在一些实现方式中,图形用户界面编辑器500可允许用户界面开发者为图形用户界面元素和显示对象指定标高偏移信息。例如,开发者可设计应用程序图形用户界面502。应用程序GUI502可包括背景区域504和图形元素506、508及510。例如,图形元素506、508及510可以是图像、按钮、菜单或任何其他可被包括在图形用户界面中的图形元素。GUI502可以是全彩色界面。
在一些实现方式中,开发者可调用(invoke)图形用户界面502的灰度级位图显示。灰度级位图显示可以是指示GUI502的像素的标高的全彩色GUI502的灰度级表示。例如,像素的灰度级值(例如,亮度水平)可表示像素的标高。在一些实现方式中,亮度水平对应于黑色(例如,完全没有照明)和白色(例如,完全照明)之间的范围,并且可被表示为百分比(0-100%)、整数值(例如,如果每个像素使用8比特,则为0-255)、或者任何其他表示。在一些实现方式中,黑色可表示零标高(或最大标高),而白色可表示最大标高(或最小标高)。黑色和白色之间的灰度值可对应于零标高和最大标高之间的标高。
在一些实现方式中,开发者可调整灰度级位图显示的像素来为图形用户界面502的像素指派标高偏移值。例如,开发者可改变像素的灰度级值以导致像素的标高的对应变化。开发者可使用任何位图编辑技术(例如,线条描绘、区域填充等)来改变像素的灰度级值。例如,开发者可选择显示元素506并提供输入至图形用户界面编辑器以指示显示元素的45%亮度的灰度级填充。
图6示出了包括标高偏移信息的像素颜色数据500的示例。在一些实现方式中,一旦标高偏移(例如,灰度级值)被指派给GUI502的像素,则标高偏移可被与像素颜色数据500存储在一起。像素颜色数据可以被存储为能被用来为像素存储颜色数据的多个比特(例如,8比特、16比特、32比特等)。例如,当生成全彩色GUI502时,GUI502的每个像素的颜色数据可被存储为32比特字,其中24比特用于红色502(8比特)、绿色504(8比特)、蓝色506(8比特)(RGB)颜色数据。32比特字中剩余的8比特(Z508)可被用来存储像素的标高信息。例如,对应于标高的像素灰度级值可被存储在剩余的8比特中。在一些实现方式中,像素标高偏移信息可与像素颜色数据分离地存储。
在一些实现方式中,当GUI502在显示屏上被渲染,像素颜色数据(R502,G504,B506)可被用来渲染GUI502的全彩色显示。在一些实现方式中,当阴影和/或其他三维效果被渲染在显示屏上,像素标高偏移信息(Z508)可被用来渲染阴影和三维效果。因此,图形用户界面的每个像素可被配置为具有标高偏移信息,从而允许图形用户界面被配置为具有轮廓和/或纹理的三维表面。这个像素标高数据可被用来渲染能模拟或接近真实生活中的阴影的动态阴影。
示例过程
图7是为显示对象生成动态阴影的示例过程700的流程图。在一些实现方式中,阴影可基于为显示对象所计算的标高和显示对象的像素的像素标高偏移信息而动态地生成。例如,像素标高偏移可被添加至显示对象的标高以在显示对象上提供有轮廓的、有纹理的和/或波形的表面。生成在显示对象上的阴影可根据像素标高偏移信息被动态地调整以反映或表示显示对象的有轮廓的、有纹理的和/或波形的表面。
在步骤702,图形用户界面对象的标高(例如,Z轴位置、坐标、数值等)可被确定。例如,窗口、光标、图标和/或其他用户界面显示对象的标高可被确定。在一些实现方式中,显示对象的标高可相对于其他显示对象而被确定。例如,如果显示在用户界面上的图形对象以列表、阵列或其他集合数据类型被管理,则显示对象可基于显示对象在列表中的位置在标高上被间隔开来,如上关于根据图2所描述的。
在步骤704,可获取用于图形用户界面对象的像素标高偏移信息。在一些实现方式中,图形显示对象可被配置为具有像素标高偏移信息。例如,用户界面开发者可生成显示对象(例如,窗口、应用程序用户界面、图标等)并且用像素标高偏移信息配置显示对象来给予显示对象的表面纹理、轮廓、波形和/或其他表面特性。在一些实现方式中,通过用像素标高偏移信息配置显示对象,用户界面开发者可以采用本来平坦的显示对象并赋予该显示对象三维的外观和感觉。在一些实现方式中,显示对象的每个像素可被分别地配置有像素标高偏移信息。一旦显示对象已被配置有像素标高偏移信息,像素标高偏移信息可被访问并用来渲染显示对象和阴影。
在步骤706,阴影可基于显示对象的标高和像素标高偏移信息而被生成。在一些实现方式中,像素标高可基于与像素相关联的对象的标高和为像素配置的标高偏移而被计算。例如,如果显示对象的像素具有标高为五(5)的偏移并且该显示对象具有为四十(40)的标高,则该像素的标高可被计算为四十五(45)。
一旦像素标高已被计算出,则像素标高可被用来生成动态阴影。例如,合并的标高位图(例如,用于渲染显示的标高位图)可基于所计算的像素标高被生成,其包括具有桌面之上的最高标高的每个显示对象的像素。例如,多个显示对象可重叠,并且从而重叠的对象可具有带有相同坐标(例如,X、Y坐标)的像素。然而,重叠的像素的每个可具有不同的标高(Z值/坐标,标高等)。在一些实现方式中,只有具有最高标高的像素将被包括在合并的标高位图中。
在一些实现方式中,可通过使用在每个像素基础上确定阴影量的图形处理单元(GPU)滤波器生成阴影。例如,通过搜索合并的标高图,滤波器能确定在一个标高处的给定像素是否被在更高标高处的像素所遮挡。如果该像素被遮挡,则GPU可基于两个像素间的相对距离计算亮度值。亮度值然后可被用来调整阴影的不透明度和模糊半径,使得落到标高接近的像素上的阴影更尖锐,而落到距离更远的像素上的阴影更分散(diffuse)。
在步骤708,包括显示对象和阴影的图形用户界面可被显示。例如,计算设备的图形处理单元可渲染用户界面,包括在显示设备上的窗口、光标、图标、其他显示对象和它们的阴影。
图8是为显示对象配置像素标高偏移的示例过程800的流程图。在一些实现方式中,显示对象的像素标高偏移信息可通过编辑与显示对象对应的灰度级位图而被配置。
在步骤802,图形用户界面编辑器可被显示。在一些实现方式中,图形用户界面编辑器可被用户界面开发者使用来生成图形用户界面元素(例如,应用程序图形用户界面)。图形用户界面编辑器可呈现在构建中的图形用户界面的全彩色显示。
在步骤804,像素标高偏移位图可被显示。在一些实现方式中,用户可提供输入(例如,向菜单项目或工具栏)至图形用户界面编辑器来使编辑器显示与图形用户界面相关联的标高图。例如,图形用户界面的灰度级标高位图图像可被显示。位图的每个像素的亮度可表示与像素相关联的标高。例如,如果黑色对应于零标高且白色对应于最高标高,则灰度像素是具有在零标高(黑色)和最高标高(白色)之间的标高的像素。在一些实现方式中,显示对象的每个像素具有为零的默认标高。然而,如果显示对象的像素已被配置有标高值,则灰度级位图的像素将反映为像素配置的标高(例如,该像素将基于配置的标高显示黑色、白色或灰色)。
在步骤806,像素标高偏移信息可通过修改像素标高偏移位图而被调整。在一些实现方式中,图形用户界面开发者可编辑灰度级标高位图。例如,开发者可编辑位图来改变像素的亮度。可使用公知的位图编辑技术执行位图的编辑。例如,可通过使用允许填充位图区域、描绘线条以及其他位图图像编辑功能的位图编辑器来编辑位图。
在步骤808,像素标高偏移信息可被存储。在一些实现方式中,像素标高偏移信息可与显示对象的像素颜色数据一起被存储。例如,像素的标高数据可被存储在用于存储像素的颜色数据的相同数据结构中,如参照图6所描述的。
示例性系统架构
图9是实现了图1~8的特征和过程的示例性系统架构的方框图。架构900可被实现在运行从编译指令得出的软件应用程序的任何电子设备上,电子设备包括但不局限于个人电脑、服务器、智能电话、媒体播放器、电子平板电脑、游戏操作杆、电子邮件设备等。在一些实现方式中,架构900可包括一个或多个处理器902、一个或多个输入设备904、一个或多个显示设备906、一个或多个网络接口908、以及一个或多个计算机可读介质910。这些部件中的每一个都可通过总线912耦合。
显示设备906可以是任何已知的显示技术,包括但不局限于使用液晶显示(LCD)或发光二极管技术(LED)的显示设备。处理器902可使用任何已知的处理器技术,包括但不局限于图形处理器和多核处理器。输入设备904可以是任何已知的输入设备技术,包括但不局限于键盘(包括虚拟键盘)、鼠标、轨迹球、以及触敏板或触敏显示器。总线912可以是任何已知的内部或外部总线技术,包括但不局限于ISA、EISA、PCI、PCIExpress、NuBus、USB、串行ATA或FireWire。计算机可读介质910可以是参与将指令提供给处理器902以用于执行的任何介质,包括但不局限于非易失性存储介质(例如,光盘、磁盘、闪存驱动等)或易失性介质(例如,SDRAM、ROM等)。
计算机可读介质910可包括用于实现操作系统(例如,Mac Linux)的各种指令914。操作系统可以是多用户的、多处理的、多任务的、多线程的、实时的等等。操作系统执行基本任务,包括但不局限于:识别来自输入设备904的输入;将输出发送至显示设备906;保持对在计算机可读介质910上的文件和目录的跟踪;控制可直接或通过I/O控制器控制的外围设备(例如,磁盘驱动、打印机等);以及管理总线912上的负荷。网络通信指令916可建立和保持网络连接(例如,用于执行通信协议,例如TCP/IP、HTTP、以太网等的软件)。
图形处理系统918可包括提供图形和图像处理能力的指令。例如,图形处理系统918可实现参照图1~8描述的动态界面阴影化。应用程序920可以是被配置为支持动态界面阴影化,或使用或实现参照图1~8描述的过程的应用程序。例如,与应用程序920相关联的图形用户界面可被配置有允许以更近似于真实生活的方式模拟阴影的像素标高偏移信息。动态图形界面阴影化可被实现在操作系统914中。
所描述的特征可有利地被实施于在可编程系统上可执行的一个或多个计算机程序中,可编程系统包括至少一个耦合以从数据存储系统接收数据和指令以及传送数据和指令至数据存储系统的可编程处理器、至少一个输入设备和至少一个输出设备。计算机程序是可在计算机中直接或间接使用以执行特定的动作或带来特定的结果的计算机指令集。计算机程序可以任何形式的编程语言(例如,面向目标的C、Java)编写,包括编译的或解释的语言,并且它能以任何方式被使用,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。
举例来说,用于执行指令程序的适合的处理器包括任何种类的电脑的通用微处理器和专用微处理器,以及单一处理器或者多处理器或多核中的一个。通常,处理器将从只读存储器或随机存取存储器或两者中接收数据和指令。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括用于存储数据文件的一个或多个大容量存储设备或可操作地耦合来与之通信;这样的设备包括磁盘,例如内部硬盘和可移动盘;磁化光盘;和光盘。适合有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,举例来说包括如EPROM、EEPROM和闪存存储器设备之类的半导体存储器设备;如内部硬盘和可移动盘之类的磁盘;磁化光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由ASIC(专用集成电路)补充,或被合并于其中。
为了提供与用户的交互,这些特征可被实现在计算机上,该计算机具有用于向用户显示信息的如CRT(阴极射线管)或LCD(液晶显示)监控器之类的显示设备以及键盘和用户可借助其提供输入至计算机的如鼠标或轨迹球之类的指示设备。
这些特征可被实施在计算机系统中,该计算机系统包括如数据服务器之类的后端部件,或包括如应用程序服务器或因特网服务器之类的中间件部件,或包括如具有图形用户界面或因特网浏览器的客户端计算机之类的前端部件,或它们的任意组合。系统的部件可通过任何形式或如通信网络之类的数字数据通信介质而被连接。通信网络的例子包括,例如,LAN、WAN、以及形成因特网的计算机和网络。
计算机系统可包括客户端和服务器。客户端和服务器通常彼此距离很远,并且典型地通过网络交互。客户端和服务器的关系借助于运行在相应的计算机上并且彼此之间具有客户端-服务器关系的计算机程序产生。
所公开的实施例的一个或多个特征或步骤可使用API而实现。API可定义在调用应用程序与提供服务、提供数据或执行操作或计算的其他软件代码(例如,操作系统、库例程、函数)之间传递的一个或多个参数。
API可被实现为程序代码中的一个或多个调用,其基于在API规范文档中定义的调用规则通过参数表或其他结构来发送或接收一个或多个参数。参数可以是常量、密钥、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或另一个调用。API调用和参数可以任何编程语言实现。编程语言可定义编程者将使用来访问支持API的函数的词汇表以及调用规则。
在一些实现方式中,API调用能将运行应用程序的设备的能力报告给应用程序,如输入能力、输出能力、处理能力、电力能力、通信能力等。
已描述了多个实现方式。然而,应当理解,能做出多种修改。例如,其他步骤可被提供,或一些步骤可从描述的流程中删除,并且其他的部件可被添加至描述的系统中,或者从其去除。相应地,其他实现方式也在如下权利要求的范围内。
图10是根据公开内容的实施例的设备1000的框图。设备1000包括确定单元1002,被配置为确定第一图形用户界面元素的标高值,其中标高值对应于沿着垂直于图形用户界面显示器的轴的距离;获取单元1004,被配置为获取第一图形用户界面元素的像素的标高偏移值;生成单元1006,被配置为基于所确定的标高值和标高偏移值生成与第二图形用户界面元素相关联的阴影;以及显示单元1008,被配置为显示第一图形用户界面元素和阴影。
优选地,在一些示例中,第一图形用户界面元素是操作系统的窗口。
优选地,在一些示例中,第一图形用户界面元素是图标。
优选地,在一些示例中,确定单元1002进一步地被配置为基于标高值和标高偏移值确定阴影的尺寸;并且生成单元1006进一步地被配置为基于所确定的尺寸生成阴影。
优选地,在一些示例中,确定单元1002进一步地被配置为基于标高值和标高偏移值确定阴影的不透明度;并且生成单元1006进一步地被配置为基于所确定的不透明度生成阴影。
优选地,在一些示例中,确定单元1002进一步地被配置为基于标高值和标高偏移值确定阴影的模糊半径;并且生成单元1006进一步地被配置为基于所确定的模糊半径生成阴影。
图11是根据公开内容的实施例的设备1100的框图。设备1100包括显示单元1102,被配置为在图形用户界面编辑器中显示图形用户界面;接收单元1104,被配置为接收指定图形用户界面的像素的像素标高偏移值的用户输入;以及存储单元1106,被配置为存储像素标高偏移值。
优选地,在一些示例中,显示单元1102进一步地被配置为显示图形用户界面的标高图,其中标高图的每个像素具有表示图形用户界面的对应像素的标高偏移的亮度值。
优选地,在一些示例中,设备1100进一步地包括调整单元1108,并且其中接收单元1104进一步地被配置为接收指示标高图的一个或多个像素的亮度值的输入;调整单元1108进一步地被配置为基于接收的亮度值调整标高图像素的亮度值;调整单元1108进一步地被配置为基于接收的亮度值调整图形用户界面的对应像素的标高偏移;并且调整单元1108进一步地被配置为基于接收的亮度值调整标高图的显示。
根据上文,公开内容的一些示例涉及包括设备1000或1100的电子设备(1200或1300)。
此处公开的多个单元可使用硬件、软件或其组合来实现或执行。它们通过通用的单一或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件、或被设计来执行此处所描述的功能的它们的任何组合来实现或执行。通用处理器可以是微处理器,或任何传统的处理器、控制器、微控制器或状态机。处理器还可实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核相结合的一个或多个处理器、或任何其他这样的配置。在一些实现方式中,这些单元可被实现为给定功能特定的电路。
因此,根据上文,公开内容的一些示例涉及一种方法,包括:确定第一图形用户界面元素的标高值,其中标高值对应于沿着与图形用户界面显示器垂直的轴的距离;获取第一图形用户界面元素的像素的标高偏移值;基于所确定的标高值和标高偏移值生成与第二图形用户界面元素相关联的阴影;并且显示第一图形用户界面元素和阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,第一图形用户界面元素是操作系统的窗口。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,第一图形用户界面元素是图标。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,该方法进一步包括基于标高值和标高偏移值确定阴影的尺寸;并且基于所确定的尺寸生成阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,该方法进一步包括基于标高值和标高偏移值确定阴影的不透明度;并且基于所确定的不透明度生成阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,该方法进一步包括基于标高值和标高偏移值确定阴影的模糊半径;并且基于所确定的模糊半径生成阴影。
公开内容的一些示例涉及一种方法,包括:在图形用户界面编辑器中,显示图形用户界面;接收指定用户图形界面的像素的像素标高偏移值的用户输入;并且存储像素标高偏移值。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,该方法进一步包括显示图形用户界面的标高图,其中标高图的每个像素具有表示图形用户界面的对应像素的标高偏移的亮度值。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,该方法进一步包括接收指示标高图的一个或多个像素的亮度值的输入;基于接收的亮度值,调整标高图像素的亮度值;基于接收的亮度值,调整对应图形用户界面像素的标高偏移;并且基于接收的亮度值,调整亮度图的显示。
公开内容的一些示例涉及包括一个或多个指令序列的非暂存计算机可读介质,指令序列被一个或多个处理器执行时导致:确定第一图形用户界面元素的标高值,其中标高值对应于沿着与图形用户界面显示器垂直的轴的距离;获取第一图形用户界面元素的像素的标高偏移值;基于所确定的标高值和标高偏移值,生成与第二图形用户界面元素相关联的阴影;并且显示第一图形用户界面元素和阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,第一图形用户界面元素是操作系统的窗口。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,第一图形用户界面元素是图标。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,指令进一步导致基于标高值和标高偏移值确定阴影的尺寸;并且基于所确定的尺寸生成阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中指令进一步导致基于标高值和标高偏移值确定阴影的不透明度;并且基于所确定的不透明度生成阴影。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,指令进一步导致基于标高值和标高偏移值确定阴影的模糊半径;并且基于所确定的模糊半径生成阴影。
公开内容的一些示例涉及包括一个或多个指令序列的非暂存计算机可读介质,指令序列被一个或多个处理器执行时导致:在图形用户界面编辑器中,显示图形用户界面;接收指定图形用户界面的像素的像素标高偏移值的用户输入;并且存储像素标高偏移值。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,指令进一步导致显示图形用户界面的标高图,其中标高图的每个像素具有表示图形用户界面的对应像素的标高偏移的亮度值。可补充或可替代地,对于上文公开的一个或多个示例,在一些示例中,指令进一步导致接收指示标高图的一个或多个像素亮度值的输入;基于接收的亮度值调整标高图像素的亮度值;基于接收的亮度值调整对应图形用户界面像素的标高偏移;并且基于接收的亮度值调整标高图的显示。
公开内容的一些示例涉及一种方法,包括:接收针对计算设备的触摸界面的触摸输入;确定与触摸输入相关联的触摸界面的区域;确定第一图形用户界面元素的标高值,其中标高值对应于沿着与图形用户界面显示器垂直的轴的距离;获取第一图形用户界面元素的像素的标高偏移值;基于该区域、所确定的标高值和标高偏移值生成与触摸输入相关联的阴影;并且显示第一图形用户界面元素和阴影。
Claims (1)
1.一种方法,包括:
确定第一图形用户界面元素的第一标高值,其中所述第一标高值对应于沿着与图形用户界面显示器垂直的轴的距离;
获取与所述第一图形用户界面元素的第一像素相关联的第一标高偏移值,并且获取与所述第一图形用户界面元素的第二像素相关联的第二标高偏移值,所述第一标高偏移值指示所述第一像素相对于所述第一图形用户界面元素的第一标高值的标高偏移,所述第二标高偏移值指示所述第二像素相对于所述第一图形用户界面元素的第一标高值的标高偏移,其中所述第一标高偏移值不同于所述第二标高偏移值;
基于所确定的第一标高值和所述第一标高偏移值与第二标高偏移值,生成与第二图形用户界面元素相关联的阴影;并且
显示所述第一图形用户界面元素和所述阴影。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/306,803 US9324183B2 (en) | 2011-11-29 | 2011-11-29 | Dynamic graphical interface shadows |
US13/306,803 | 2011-11-29 | ||
CN201210473228.3A CN103198516B (zh) | 2011-11-29 | 2012-09-28 | 动态图形界面阴影 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210473228.3A Division CN103198516B (zh) | 2011-11-29 | 2012-09-28 | 动态图形界面阴影 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105678837A true CN105678837A (zh) | 2016-06-15 |
CN105678837B CN105678837B (zh) | 2019-06-04 |
Family
ID=47044832
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210473228.3A Active CN103198516B (zh) | 2011-11-29 | 2012-09-28 | 动态图形界面阴影 |
CN201610096603.5A Active CN105678837B (zh) | 2011-11-29 | 2012-09-28 | 动态图形界面阴影 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210473228.3A Active CN103198516B (zh) | 2011-11-29 | 2012-09-28 | 动态图形界面阴影 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9324183B2 (zh) |
EP (1) | EP2600313A3 (zh) |
KR (2) | KR101636808B1 (zh) |
CN (2) | CN103198516B (zh) |
HK (1) | HK1224068A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111724313A (zh) * | 2020-04-30 | 2020-09-29 | 完美世界(北京)软件科技发展有限公司 | 一种阴影贴图生成方法与装置 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9324183B2 (en) | 2011-11-29 | 2016-04-26 | Apple Inc. | Dynamic graphical interface shadows |
US9372593B2 (en) | 2011-11-29 | 2016-06-21 | Apple Inc. | Using a three-dimensional model to render a cursor |
US9229613B2 (en) | 2012-02-01 | 2016-01-05 | Facebook, Inc. | Transitions among hierarchical user interface components |
US9557876B2 (en) | 2012-02-01 | 2017-01-31 | Facebook, Inc. | Hierarchical user interface |
US9645724B2 (en) | 2012-02-01 | 2017-05-09 | Facebook, Inc. | Timeline based content organization |
US11073959B2 (en) * | 2012-06-08 | 2021-07-27 | Apple Inc. | Simulating physical materials and light interaction in a user interface of a resource-constrained device |
KR101961860B1 (ko) * | 2012-08-28 | 2019-03-25 | 삼성전자주식회사 | 사용자 단말 장치 및 그 제어 방법 |
KR102186548B1 (ko) * | 2013-08-21 | 2020-12-07 | 삼성전자주식회사 | 스크롤 실행의 화면 표시 방법, 장치 및 기록매체 |
US10096296B2 (en) * | 2013-11-13 | 2018-10-09 | Red Hat, Inc. | Temporally adjusted application window drop shadows |
US9986225B2 (en) * | 2014-02-14 | 2018-05-29 | Autodesk, Inc. | Techniques for cut-away stereo content in a stereoscopic display |
CN103870195B (zh) * | 2014-03-03 | 2018-04-27 | 联想(北京)有限公司 | 一种信息提示方法及电子设备 |
US9679396B2 (en) | 2014-05-30 | 2017-06-13 | Apple Inc. | Unitary shadows |
US9576393B1 (en) * | 2014-06-18 | 2017-02-21 | Amazon Technologies, Inc. | Dynamic rendering of soft shadows for interface elements |
KR20160084146A (ko) * | 2015-01-05 | 2016-07-13 | 삼성전자주식회사 | 사용자 입력의 제어 방법 및 상기 방법이 적용되는 전자장치 |
CN104933746B (zh) * | 2015-05-21 | 2018-03-23 | 广东欧珀移动通信有限公司 | 一种为平面图片设置动态阴影的方法及装置 |
CN106257389B (zh) * | 2015-06-19 | 2019-08-06 | 深圳超多维科技有限公司 | 实现文件夹图标交互的方法及触控终端 |
CN106708450B (zh) * | 2015-07-14 | 2019-10-25 | 深圳超多维科技有限公司 | 画面显示方法、装置和终端设备 |
CN106970782A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 卡片式视图控件的交互处理方法及其装置 |
US10019851B2 (en) * | 2016-10-25 | 2018-07-10 | Microsoft Technology Licensing, Llc | Positioning objects in three-dimensional graphical space |
CN106814933B (zh) * | 2016-12-15 | 2019-08-13 | 广州视源电子科技股份有限公司 | 窗口阴影显示方法及装置 |
CN107463366B (zh) * | 2017-06-16 | 2020-08-25 | 兴业数字金融服务(上海)股份有限公司 | 一种基于移动App的界面动态化方法 |
US20190007672A1 (en) | 2017-06-30 | 2019-01-03 | Bobby Gene Burrough | Method and Apparatus for Generating Dynamic Real-Time 3D Environment Projections |
US10679404B2 (en) * | 2017-10-04 | 2020-06-09 | Google Llc | Shadows for inserted content |
USD862511S1 (en) * | 2017-11-02 | 2019-10-08 | Google Llc | Display screen or portion thereof with transitional graphical user interface |
USD851674S1 (en) * | 2017-11-17 | 2019-06-18 | Outbrain Inc. | Electronic device display or portion thereof with animated graphical user interface |
CN108010120A (zh) * | 2017-11-30 | 2018-05-08 | 网易(杭州)网络有限公司 | 静态阴影的显示方法、装置、存储介质、处理器及终端 |
US10540941B2 (en) * | 2018-01-30 | 2020-01-21 | Magic Leap, Inc. | Eclipse cursor for mixed reality displays |
US11567627B2 (en) | 2018-01-30 | 2023-01-31 | Magic Leap, Inc. | Eclipse cursor for virtual content in mixed reality displays |
WO2019236344A1 (en) | 2018-06-07 | 2019-12-12 | Magic Leap, Inc. | Augmented reality scrollbar |
USD910055S1 (en) | 2019-06-03 | 2021-02-09 | Apple Inc. | Electronic device with graphical user interface |
CN116958390A (zh) * | 2022-04-19 | 2023-10-27 | 深圳市腾讯网络信息技术有限公司 | 一种图像渲染方法、装置、设备、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488204A (en) * | 1992-06-08 | 1996-01-30 | Synaptics, Incorporated | Paintbrush stylus for capacitive touch sensor pad |
US20030058241A1 (en) * | 2001-09-27 | 2003-03-27 | International Business Machines Corporation | Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface |
US20040145603A1 (en) * | 2002-09-27 | 2004-07-29 | Soares Stephen Michael | Online multimedia presentation builder and presentation player |
US6971071B1 (en) * | 1999-06-10 | 2005-11-29 | Microsoft Corporation | System and method for implementing an image ancillary to a cursor |
US7000180B2 (en) * | 2000-06-29 | 2006-02-14 | Balthaser Online, Inc. | Methods, systems, and processes for the design and creation of rich-media applications via the internet |
US20100083165A1 (en) * | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Panoramic graphical user interface |
US20110167353A1 (en) * | 2009-07-20 | 2011-07-07 | Aryk Erwin Grosz | System and Methods for Creating and Editing Photo-Based Projects on a Digital Network |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6590573B1 (en) | 1983-05-09 | 2003-07-08 | David Michael Geshwind | Interactive computer system for creating three-dimensional image information and for converting two-dimensional image information for three-dimensional display systems |
AU632628B2 (en) | 1989-11-13 | 1993-01-07 | Apple Computer, Inc. | Method and apparatus for a computer display system with a three dimensional cursor shadow |
US5483261A (en) | 1992-02-14 | 1996-01-09 | Itu Research, Inc. | Graphical input controller and method with rear screen image detection |
US5880411A (en) | 1992-06-08 | 1999-03-09 | Synaptics, Incorporated | Object position detector with edge motion feature and gesture recognition |
JPH0778267A (ja) * | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
US5526478A (en) | 1994-06-30 | 1996-06-11 | Silicon Graphics, Inc. | Three dimensional model with three dimensional pointers and multimedia functions linked to the pointers |
US5825352A (en) | 1996-01-04 | 1998-10-20 | Logitech, Inc. | Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad |
US5880733A (en) | 1996-04-30 | 1999-03-09 | Microsoft Corporation | Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system |
US5835079A (en) | 1996-06-13 | 1998-11-10 | International Business Machines Corporation | Virtual pointing device for touchscreens |
US6166718A (en) | 1996-06-18 | 2000-12-26 | Konami Co., Ltd. | Video game system with vertical array of cursor images |
US5995102A (en) | 1997-06-25 | 1999-11-30 | Comet Systems, Inc. | Server system and method for modifying a cursor image |
US6310610B1 (en) | 1997-12-04 | 2001-10-30 | Nortel Networks Limited | Intelligent touch display |
US7663607B2 (en) | 2004-05-06 | 2010-02-16 | Apple Inc. | Multipoint touchscreen |
US8479122B2 (en) | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
EP1058924B1 (en) | 1998-01-26 | 2012-06-13 | Apple Inc. | Method and apparatus for integrating manual input |
US6188391B1 (en) | 1998-07-09 | 2001-02-13 | Synaptics, Inc. | Two-layer capacitive touchpad and method of making same |
JP4542637B2 (ja) | 1998-11-25 | 2010-09-15 | セイコーエプソン株式会社 | 携帯情報機器及び情報記憶媒体 |
US6690372B2 (en) * | 2000-05-31 | 2004-02-10 | Nvidia Corporation | System, method and article of manufacture for shadow mapping |
JP4443012B2 (ja) * | 2000-07-27 | 2010-03-31 | 株式会社バンダイナムコゲームス | 画像生成装置、方法および記録媒体 |
KR100454070B1 (ko) | 2001-01-31 | 2004-10-20 | 학교법인 중앙대학교 | 컴퓨터를 이용한 그림자를 포함한 실시간 툰 렌더링 방법 |
US6642947B2 (en) | 2001-03-15 | 2003-11-04 | Apple Computer, Inc. | Method and apparatus for dynamic cursor configuration |
JP3800984B2 (ja) | 2001-05-21 | 2006-07-26 | ソニー株式会社 | ユーザ入力装置 |
JP2003173237A (ja) | 2001-09-28 | 2003-06-20 | Ricoh Co Ltd | 情報入出力システム、プログラム及び記憶媒体 |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
US6690387B2 (en) | 2001-12-28 | 2004-02-10 | Koninklijke Philips Electronics N.V. | Touch-screen image scrolling system and method |
US11275405B2 (en) | 2005-03-04 | 2022-03-15 | Apple Inc. | Multi-functional hand-held device |
KR20040087425A (ko) | 2003-04-07 | 2004-10-14 | 주식회사 네트로폴리스 | 전자책 서비스 제공방법, 장치 및 그 기록매체 |
JP2008505379A (ja) | 2004-06-29 | 2008-02-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 3次元タッチ型インタラクションにおけるタッチダウン型フィードフォワード |
US9274807B2 (en) * | 2006-04-20 | 2016-03-01 | Qualcomm Incorporated | Selective hibernation of activities in an electronic device |
US7447998B2 (en) * | 2006-05-04 | 2008-11-04 | International Business Machines Corporation | Graphical interface for tree view |
US7675518B1 (en) * | 2006-09-05 | 2010-03-09 | Adobe Systems, Incorporated | System and method for generating image shadows with ray-coherent integration of extruded transparency maps |
KR100898990B1 (ko) | 2006-12-04 | 2009-05-25 | 한국전자통신연구원 | 3차원 공간에서 시간일관성을 이용한 실루엣 렌더링 장치및 방법 |
US8749544B2 (en) | 2007-09-26 | 2014-06-10 | Autodesk, Inc. | Navigation system for a 3D virtual scene |
US7961202B2 (en) * | 2007-10-26 | 2011-06-14 | Mitel Networks Corporation | Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes |
US8184096B2 (en) | 2007-12-04 | 2012-05-22 | Apple Inc. | Cursor transitions |
GB2462589B (en) * | 2008-08-04 | 2013-02-20 | Sony Comp Entertainment Europe | Apparatus and method of viewing electronic documents |
JP5800501B2 (ja) | 2010-03-12 | 2015-10-28 | 任天堂株式会社 | 表示制御プログラム、表示制御装置、表示制御システム、及び、表示制御方法 |
US20110289461A1 (en) | 2010-05-20 | 2011-11-24 | Joshua Morgan Jancourtz | Method and sytem for rendering computer interface cursors |
JP5589625B2 (ja) * | 2010-07-08 | 2014-09-17 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US8605136B2 (en) * | 2010-08-10 | 2013-12-10 | Sony Corporation | 2D to 3D user interface content data conversion |
US8994718B2 (en) | 2010-12-21 | 2015-03-31 | Microsoft Technology Licensing, Llc | Skeletal control of three-dimensional virtual world |
US20120218395A1 (en) * | 2011-02-25 | 2012-08-30 | Microsoft Corporation | User interface presentation and interactions |
US9324183B2 (en) | 2011-11-29 | 2016-04-26 | Apple Inc. | Dynamic graphical interface shadows |
US9372593B2 (en) | 2011-11-29 | 2016-06-21 | Apple Inc. | Using a three-dimensional model to render a cursor |
-
2011
- 2011-11-29 US US13/306,803 patent/US9324183B2/en active Active
-
2012
- 2012-09-27 EP EP12186334.4A patent/EP2600313A3/en not_active Ceased
- 2012-09-27 KR KR1020120108286A patent/KR101636808B1/ko active Application Filing
- 2012-09-28 CN CN201210473228.3A patent/CN103198516B/zh active Active
- 2012-09-28 CN CN201610096603.5A patent/CN105678837B/zh active Active
-
2016
- 2016-04-22 US US15/136,749 patent/US10691286B2/en active Active
- 2016-06-28 KR KR1020160081062A patent/KR102165124B1/ko active IP Right Grant
- 2016-10-20 HK HK16112121.9A patent/HK1224068A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488204A (en) * | 1992-06-08 | 1996-01-30 | Synaptics, Incorporated | Paintbrush stylus for capacitive touch sensor pad |
US6971071B1 (en) * | 1999-06-10 | 2005-11-29 | Microsoft Corporation | System and method for implementing an image ancillary to a cursor |
US7000180B2 (en) * | 2000-06-29 | 2006-02-14 | Balthaser Online, Inc. | Methods, systems, and processes for the design and creation of rich-media applications via the internet |
US20030058241A1 (en) * | 2001-09-27 | 2003-03-27 | International Business Machines Corporation | Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface |
US20040145603A1 (en) * | 2002-09-27 | 2004-07-29 | Soares Stephen Michael | Online multimedia presentation builder and presentation player |
US20100083165A1 (en) * | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Panoramic graphical user interface |
US20110167353A1 (en) * | 2009-07-20 | 2011-07-07 | Aryk Erwin Grosz | System and Methods for Creating and Editing Photo-Based Projects on a Digital Network |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111724313A (zh) * | 2020-04-30 | 2020-09-29 | 完美世界(北京)软件科技发展有限公司 | 一种阴影贴图生成方法与装置 |
CN111724313B (zh) * | 2020-04-30 | 2023-08-01 | 完美世界(北京)软件科技发展有限公司 | 一种阴影贴图生成方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20130060113A (ko) | 2013-06-07 |
HK1224068A1 (zh) | 2017-08-11 |
KR20160083831A (ko) | 2016-07-12 |
CN103198516B (zh) | 2016-01-13 |
CN103198516A (zh) | 2013-07-10 |
KR102165124B1 (ko) | 2020-10-13 |
EP2600313A2 (en) | 2013-06-05 |
US20130135309A1 (en) | 2013-05-30 |
US9324183B2 (en) | 2016-04-26 |
US20160239180A1 (en) | 2016-08-18 |
KR101636808B1 (ko) | 2016-07-07 |
EP2600313A3 (en) | 2017-09-20 |
CN105678837B (zh) | 2019-06-04 |
US10691286B2 (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678837A (zh) | 动态图形界面阴影 | |
US11379105B2 (en) | Displaying a three dimensional user interface | |
CN106856009B (zh) | 视网膜凹式渲染 | |
US20180067756A1 (en) | Low-latency visual response to input via pre-generation of alternative graphical representations of application elements and input handling on a graphical processing unit | |
EP2828831B1 (en) | Point and click lighting for image based lighting surfaces | |
CN102467752A (zh) | 一种物理实时渲染三维场景的方法及系统 | |
CN109844820A (zh) | 基于上下文信息来修改全息图的手部遮挡 | |
CN105913481A (zh) | 阴影渲染装置及其控制方法 | |
US9483873B2 (en) | Easy selection threshold | |
US9495766B2 (en) | Simulating color diffusion in a graphical display | |
US20150199108A1 (en) | Changing user interface element based on interaction therewith | |
US11093117B2 (en) | Method for controlling animation's process running on electronic devices | |
CN114385061A (zh) | 操作方法、装置、电子设备和计算机可读存储介质 | |
Grubert et al. | Interactive stroke-based NPR using hand postures on large displays | |
US20220351427A1 (en) | Training using rendered images | |
Nilsson | Hardware Supported Frame Correction in Touch Screen Systems-For a Guaranteed Low Processing Latency | |
CN117036573A (zh) | 渲染虚拟模型的方法、装置、存储介质及电子设备 | |
Blatner | TangiPaint: Interactive tangible media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1224068 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1224068 Country of ref document: HK |