CN101283328A - 用户界面中活动内容上的可扩展视觉效果 - Google Patents

用户界面中活动内容上的可扩展视觉效果 Download PDF

Info

Publication number
CN101283328A
CN101283328A CNA2006800333605A CN200680033360A CN101283328A CN 101283328 A CN101283328 A CN 101283328A CN A2006800333605 A CNA2006800333605 A CN A2006800333605A CN 200680033360 A CN200680033360 A CN 200680033360A CN 101283328 A CN101283328 A CN 101283328A
Authority
CN
China
Prior art keywords
effect
visual element
input
output
coordinate
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
Application number
CNA2006800333605A
Other languages
English (en)
Other versions
CN101283328B (zh
Inventor
A·M·史密斯
R·A·沃尔达茨科
B·K·卡那瓦
E·M·玛伊亚
P·J·斯维纳亚
R·V·帕蒂尔
S·塞博拉马尼亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101283328A publication Critical patent/CN101283328A/zh
Application granted granted Critical
Publication of CN101283328B publication Critical patent/CN101283328B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Materials For Medical Uses (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Circuits (AREA)

Abstract

用于将视觉效果应用于诸如按钮、组合框、视频、编辑域等活动内容的方法和系统,其中在此后保留活动内容的交互性。本发明也向开发者提供了构建新的视觉效果并将其应用于活动内容的机制。

Description

用户界面中活动内容上的可扩展视觉效果
背景
有时,应用程序开发者期望实现包含使得该用户界面区别于其他用户界面的独特元素的用户界面,和/或当用户经由该用户界面操作应用程序时增强用户体验。开发者可能希望定制用户界面的一种方式是创建用信号通知用户界面改变或修改用户界面的元素的视觉效果。然而,现有的平台不支持将视觉效果应用于用作用户界面的一部分的内容。
概述
以下提供了本发明的简述,以便向读者提供基本的理解。该简述不是对本发明的广泛综述,它并非旨在标识本发明的关键/重要元素或描绘本发明的范围。其唯一的目的是以简化的形式提供本发明的一些概念,以作为后面提出的更为详细描述的序言。
本发明描述了用于将视觉效果应用于诸如按钮、组合框、视频、编辑域等活动内容的方法和系统,其中在这之后保留该活动内容的交互性。本发明还向开发者提供了构建新的视觉效果并将它们应用于活动内容的机制。这些视觉效果包括例如模糊、发光、闪烁、爆炸、扩展、收缩、消退、变灰、漩涡、波动、组合、闪耀或任何其他可应用于活动内容的视觉效果。
结合附图考虑,参考以下详细描述将能更容易地理解和更好地了解许多附带的特征。
附图简述
根据附图,阅读以下详细描述能更好地理解本描述,附图中:
图1是示出示例性效果对象的框图。
图2是显示包括各种输入和输出引脚的示例性效果对象的框图。
图3是显示包括两个效果图元的示例性效果对象的框图,每个效果图元支持各种输入和输出格式。
图4是显示示例性效果对象的框图。
图5是显示在应用爆炸效果之前和之后的示例性按钮的框图。
图6是显示用于向视觉元素提供一个或多个效果的示例性方法的框图。
图7是显示变换命中坐标以便对已应用了效果的视觉元素进行准确的命中测试的示例性方法的框图。
图8是示出可以在依照本发明的一个或多个实现中使用的通用计算环境的框图。
相同的参考标号用于指示附图中相同的部分。
详细描述
以下结合附图提供的详细描述旨在作为对本示例的描述,而非旨在表示可构造或使用本示例的唯一形式。本描述阐明了各示例的功能和用于构造和操作各示例的步骤序列。然而,可以由不同的示例来完成相同或等价的功能和序列。
虽然本示例此处被描述和示出为在计算机系统中实现,但是所描述的系统是作为示例而非限制来提供的。本领域的技术人员会理解,本示例适于应用在各种不同类型的计算和图形系统中。
在整个描述中使用了多个术语,这些术语在以下明确定义。以下定义意在取代可能在本领域中已知的任何替换性定义。
活动内容—诸如按钮、组合框、编辑域、复选框、图像、视频等能够支持某种形式的用户交互或以某种形式动画表现的视觉元素。活动内容可以在存储器中呈现而无需在屏幕上显示。
效果(Effect)—效果是构成效果图(EffectGraph)(即有向无环图(DAG))的对象。
效果图元(EffectPrimitive)—这是基本效果。它不包含任何子效果。它是开发者一般创建的效果。这是对效果作出实际像素处理的对象。
效果—该术语通常在可以使用或指定Effect或EffectPrimitive时使用。
效果图(EffectGraph)—这是指整个效果图(即是一个或多个DAG中的最高效果的某个效果)。
引脚—这用于描述由效果展示的用于将效果连接在一起或用于其它目的的连接点(经由IMILBitmapEffectInputConnector(IMIL位图效果输入连接器))。
光栅图形—这是作为像素集合的图形的表示,通常是以矩形网格或位图的形式。该术语通常相对于术语“矢量图形”来使用。
矢量图形—也称为几何建模,这是使用诸如点、直线、曲线和多边形等几何图元来表示计算机图形中的图像。该术语通常相对于术语“光栅图形”来使用。
视觉元素—这是在存储器中或显示器、电子画布、用户界面等上呈现的诸如按钮、编辑域、图像、菜单、图标或任何其他交互式或动画图形构造等图形构造。视觉元素可以是光栅图形元素、矢量图形元素或任何其他类型的图形构造。
图1是显示示例性效果对象100的框图。效果是诸如104a-104d等形成有向无环图(DAG)的一个或多个效果图元的集合。该效果DAG通常被封装在展示IMILBitmapEffect(IMIL位图效果)106的单个对象100中。效果100内的每个元素或者是另一效果(即展示出IMILBitmapEffect),或者是效果图元(即展示出IMILBitmapEffectPrimitive 107)。每个效果可以具有诸如输入108等零个或多个输入,和诸如输出109等输出。每个输入/输出引脚由诸如示例102和102等IMILBitmapEffectConnector(IMIL位图效果连接器)来描述。这些被例如示例性连接110连接在一起,以形成通过效果DAG的数据流路径。
效果100可用于为活动内容提供位图形式的视觉效果,这些活动内容包括诸如按钮、编辑域、视频图形或显示器、画布、用户界面等的任何其他交互式或动画视觉元素等视觉元素。效果100也可用于将视觉效果应用于存储器中的位图,而无需曾经显示位图。此外,效果100可以表现描述其输入的属性的其他特性。例如,位图效果(BitmapEffect)可以表示出色彩柱状图信息或面部检测信息。所提供的特定效果一般由诸如示例性下锅100等效果中包含的效果和效果图元来确定的。
通常在诸如输入101等示例性效果100的输入处提供视觉元素的位图。输入位图由效果100处理,以提供效果(或效果的集合,如果效果包括诸如104a-104d等多个效果图元或其他效果),而包括效果的位图在诸如输出102等效果100输出处提供。
图2是显示包括各种输入和输出引脚的示例性效果对象200的框图。展示诸如引脚210等一组输入/输出引脚而非仅展示输出图像的优势是这种引脚允许查询效果的输入和输出格式以及其他信息,而无需实际运行效果。每个引脚可以接受/生成多种格式的图像。引脚接受/生成的格式可以通过IMILBitmapEffectInputConnector或IMILBitmapEffectOutputConnector(IMIL位图效果输出连接器)接口的GetFormat()(获得格式)和GetNumberFormats()(获得数字格式)方法来枚举。每个引脚也可以具有最优格式—效果期望在其输入/输出处接受/生成的格式。如果两个连接的引脚具有相同的最优格式而非通常使用的格式。否则,通常基于在效果图形的结尾处请求的初始输出格式来确定某些其他的匹配格式。如果没有互相匹配的格式,那么当数据从一个效果的输入流到下一个效果的输入时会发生转换,如结合图3所示的。
图3是显示包含两个效果图元的示例性效果对象300的框图,每个效果图元支持各种输入和输出格式。效果图元1被示为支持两种输出格式,MILPixelFormat24bbpBGR(MIL像素格式24bbp BGR)—由星号所示的最优输出,和第二输出格式,MILPixelFormat32bppARGB(MIL像素格式32bbpARGB),效果图元2被示为支持两种输入格式,其中最优输入格式与效果图元1的最优输出格式的最优输出格式相同。效果图元1和效果图元2之间的连接310不会导致格式转换,因为它们共享MILPixelFormat24bppBGR的最优格式类型。效果图元1将被请求以其最优格式输出,并且结果将被传递到效果图元2中。
效果图元2被示为支持单个输出格式,MILPixelFormat32bppGray(MIL像素格式32bpp灰色)(其最优格式如星号所示),并且被连接320到效果300的单个输出330。但是效果300的唯一输出格式是MILPixelFormat32bppARGB,不同于效果图元2的唯一输出格式。因此,在效果图元2的输出和整个效果图300的输出之间将发生转换。
在如何处理格式失配的一个示例中,如果在图形和连接到图形输出的效果之间最优格式不匹配,那么将请求最近请求的格式(即MILPixelFormat32bppGray,如图3中所示)。如果最近请求的输出格式不是作为图形的输出而存在的,那么可以选择随机格式。
DAG中的每个输出引脚(IMILBitmapEffectOutputConnector)可以被链接到另一效果的输入引脚,只要它保持图形的无环特性。该链接可以是一对多(即单个输出连接可以链接到多个输入连接,但反之则不然)。
图4是显示示例性效果对象400的框图。在该示例中,效果对象400是由诸如C#(C升半音号)等受控代码构建的包装(wrapper)420组成的,它包含对实际效果代码410的非受控实现,以诸如C++等代码来实现。示例性对象400包括单个输入401和单个输出490。在替换性示例中,可以提供多个输入和/或输出。在需要或提供格式转换的情况下,这种转换代码通常被包括在包装420中。或者,转换代码可以被包括在非受控代码部分410中,或是由某一其他模块提供。
同样包括作为效果对象400的一部分的是变换函数F(p)430。在一个示例中,包括变换函数430作为非受控代码410的一部分。变换430是变换通常采用位图形式的输入视觉元素,以提供具有某些新的视觉效果的视觉元素的函数。一般而言,这种变换函数430可以被应用于作为光栅图形构造、矢量图形构造等的视觉元素上。
例如,假设期望在用户界面中提供一按钮,并且当鼠标位于该按钮上方时使得该按钮“发光”。在这种情况下,可以创建发光效果对象,并且使其与按钮相关联,发光效果的变换函数对按钮位图执行操作,以使其看起来发光。注意,按钮的功能保持不变—仅按钮的视觉方面被效果所修改。即,用户仍然可以使得鼠标光标悬停在按钮上方、点击按钮等,而按钮会如期望地表现。
在常规的用户界面中,通常采用“命中测试(hit testing)”来确定是否应该将诸如鼠标点击或键击等某一用户输入应用于视觉元素或活动内容。即,例如当用户点击按钮时,命中测试代码测试鼠标点击的坐标以确定点击是否是对按钮作出的。如果是,那么按钮相应地响应,诸如在下方的位置重画自己、启动与按钮相关联的功能等。
在视觉效果与按钮相关联的情况下,重要的是命中测试继续如期望地运作。使用发光效果对象的示例,当鼠标光标悬停在按钮上方时,相关联的发光效果对象会导致按钮具有发光的外观。除了发光效果之外,由于鼠标位于上方事件,按钮也会如其通常所做的那样突出显示。点击安妮也会产生期望的结果。在一个示例中,效果对象可以与视觉元素相关联,作为元素的特性。
图5是显示应用爆炸效果之前和之后的示例性按钮的框图。考虑产生爆炸效果的效果对象—使得相关联的视觉元素分裂成若干个碎片,并随着时间的推移在用户界面上散布它们。图5提供了这种效果之前和之后的示例。
在画面501—“之前”画面中,用户界面(UI)500被示为具有应用爆炸效果之前的常规按钮502,这可能是按钮上的鼠标位于上方事件或点击事件的结果。画面502—“之后”画面显示具有应用爆炸效果后的按钮504的同一用户界面500。按钮504被示为分裂成三个碎片504a-504c,其每一个在UI 500上彼此分离。
该爆炸效果是部分地通过爆炸变换函数来实现的,该爆炸变换函数将输入按钮位图的每个比特映射到新的位置,诸如若干个碎片中。在诸如爆炸的“移开”方面,这种映射会随着时间改变,可能直至碎片“停留”在UI上的某处。
不管变换如何,按钮都如期望地继续运作。即,用户可以点击经爆炸的按钮504的任何碎片,而按钮会如同它没有爆炸一样。这意味着命中测试代码继续如期望地运作。这是通过用户事件经过效果对象并且变换函数确定按钮是否被“命中”来促进的。通常这是通过反向解出变换函数或通过使用双向变换函数来完成的。
变换函数可以执行仿射变换或非仿射变换。例如,仿射变换可以包括放大、收缩、伸展或旋转位图。非仿射变换可以包括诸如模糊、发光、变灰、暗淡、消退、闪耀、闪烁、闪光、变形或在其中以某种方式添加、删除和/或修改位图的元素的任何其他类似效果等效果。此外,变换函数可以不转变输入位图的所有原始比特,诸如当提供消失、收缩、离开、将直线变换成点等效果时。其他可能的变换包括漩涡、波动、分裂、复制、将多个位图合并成一个等。在某些情况下,效果可导致来自输入位图的比特被映射到多个位置、任意的位置或一起消失。在所有进行的示例中,变换函数也提供指示经修改的比特是否被某个用户“命中”,以确保命中测试功能继续如期望地运作的能力。
图6是显示用于向视觉元素提供一种或多个效果的示例性方法600的框图。在图1中所示并且在下文中方法600的描述中使用的诸如效果对象100等效果对象可以使用这种方法600。
在框610处,方法600以在效果对象100的输入处提供视觉元素位图开始。这可以通过任意数目的常规软件进程和/或技术发生。
在框620处,一测试判定在效果对象100DAG中是否包含下一效果图元来处理位图。如图1中所示,效果对象可以包含效果图元和/或其他效果对象,其一个或多个输入连接到效果对象100的输入,并且每一输出连接到一个或多个其他效果图元和/或效果输入或效果对象100的输出。如果有下一效果图元,那么方法600继续到框650处。否则方法600继续到框630处。
在框630处,一测试判定在对象100DAG中是否包含下一效果对象。如果有下一效果对象,假定为“效果B”,那么该方法继续到针对效果B的框610处。否则方法600继续到框640处。
在框640处,输入位图完成由效果对象100的处理,并在输出处提供经处理的位图。这可以通过任意数目的常规软件进程和/或技术发生。
在框650处,在下一效果图元的输入处提供已由任何在前的效果图元和/或效果处理的位图。这可以通过任意数目的常规软件进程和/或技术发生。
在框660处,一测试判定位图是否是用于效果图元的处理的可接受的格式。如果是,那么方法继续到的框680处。否则方法600继续到框670处。
在框670处,位图被转换或重新格式化成可接受的格式以供下一效果图元处理。在一个示例中,位图可以被重新格式化成最优格式。
在框680处,将诸如图4中所示的变换函数F(p)430等变换函数应用于输入位图,这通常导致效果被应用于位图或从输入位图生成的新的位图,该新的位图包括效果。方法600继续到框620处。
图7是示出用于变换命中坐标以便对已应用了效果的视觉元素进行准确的命中测试的示例性方法700的框图。由于具有效果的视觉元素可被置于用户界面上而非是它没有效果,因此通常需要对诸如鼠标点击或悬停在上方事件等命中坐标的变换来确保适当的命中测试。诸如图1中所示并且在下文中方法700描述中使用的效果对象可以使用这种方法700。
在框710处,方法700以将诸如鼠标点击或鼠标在上方事件等用户事件的坐标提供给效果对象100的输入开始。这可以通过任意数目的常规软件进程和/或技术发生。
在框720处,一测试判定在效果对象100DAG中是否包含在前的效果图元,用于变换坐标。如图1中所示,诸如示例性效果100等效果对象可以包含效果图元和/或其他效果对象,其一个或多个输入连接到效果对象100的输入,而其每一输出连接到一个或多个其他效果图元和/或效果输入或效果对象100的输出。方法700以DAG中的最后一个这种效果对象开始,并且向前运作以完成坐标变换。“在前的”效果对象是DAG中从效果对象的输出处开始并且朝着效果对象的输入向回运作通过DAG中的任何效果对象的效果对象。例如,效果图元104d在效果对象100输出102之前,效果图元104a、104b和104c在104d之前,而效果图元104b也在104c之前。如果有在前的效果图元,那么方法700继续到框730处。否则,方法700继续到框740处。
在框730处,将诸如图4中所示的变换函数F(p)430等变换函数应用于用户位图的坐标。通常,反向应用变换函数。方法700继续到框720处。
在框740处,一测试判定测在效果对象100DAG中是否包含在前的效果对象。如果有在前的效果对象,假定为“效果A”,那么方法继续到针对效果A的框710处。否则方法700继续到框750处。
在框750处,方法700将用户事件的经变换的坐标提供给命中测试代码等。
图8是示出可在依照本发明的一个或多个实现中使用的通用计算环境800的框图。计算系统环境800仅为合适的操作环境的一个示例,并非对要求保护的主题的使用范围或功能提出任何局限。也不应将计算环境800解释为对示例性操作环境800中示出的任一组件或其组合具有任何依赖性或需求。
所描述的技术和对象可用许多其他通用或专用计算系统环境或配置操作。适合使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
以下描述可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中表达。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。所描述的实现还可在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图8,用于实现本发明的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可包括但不限于,处理单元820、系统存储器830以及将包括系统存储器的各类系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干种总线结构的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、高级图形端口(AGP)总线、以及外围部件互连(PCI)总线(也称为背板(Mezzanine)总线)。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是可由计算机810访问的任一可用介质,诸如易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机800访问的任一其它介质。通信介质通常体现计算机可读指令、数据结构和/或程序。任一上述的组合也应该包括在计算机可读介质的范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。基本输入/输出系统833(BIOS)包括如在启动时帮助在计算机810内的元件之间传输信息的基本例程,它通常储存在ROM 831中。RAM 832通常包含处理单元820立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图8示出了操作系统834、应用程序835、其它程序模块836和程序数据837。
计算机810也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图8示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器841、对可移动、非易失性磁盘852进行读写的磁盘驱动器851,以及对可移动、非易失性光盘856,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字视频盘(DVD)、数字录像带、固态RAM、固态ROM等等。硬盘驱动器841通常通过不可移动存储器接口,如接口840连接到系统总线821,磁盘驱动器851和光盘驱动器855通常通过可移动存储器接口,如接口850连接到系统总线821。
上文讨论并在图8示出的驱动器及其关联的计算机存储介质为计算机810提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图8中,示出硬盘驱动器841储存操作系统844、应用程序845、其它程序模块846和程序数据847。注意,这些组件可以各自与操作系统834、应用程序835、其它程序模块836和程序数据837相同,也可以与它们不同。此处对操作系统844、应用程序845、其它程序模块846和程序数据847给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘862和定点设备861(通常指鼠标、跟踪球或触摸垫)向计算机810输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口860连接至处理单元820,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器891或其它类型的显示设备也通过接口,如视频接口890连接至系统总线821。除了监视器之外,计算机还可包括其它外围输出设备,如扬声器897和打印机896,它们通过输出外围接口895连接。也可以包括能够捕捉图像序列864的摄像机863(诸如数码/电子照相机或摄影机,或胶片/照相扫描仪),作为到个人计算机810的输入设备。此外,虽然只描述了一个摄像机,但是可以包括多个摄像机作为到个人计算机810的输入设备。来自一个或多个摄像机的图像864经由适当的摄像机接口865被输入到计算机810。该接口865被连接到系统总线821,由此使得图像能够被路由到RAM832或与计算机810相关联的其他数据存储设备之一并存储在其中。然而,应该注意也可以从上述计算机可读介质的任一个将图像数据输入到计算机810种,而无需使用摄像机863。
计算机810可以使用到一个或多个远程计算机,如远程计算机880的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于计算机810所描述的元件,尽管在图8中仅示出了存储器存储设备881。图8描述的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但也可或是或者包括其它网络。这类网络环境常见于家庭、办公室、企业范围计算机网络、内联网以及因特网。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接至LAN 871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过WAN 873,如因特网建立通信的其它装置。调制解调器872可以是内置或外置的,它通过用户输入接口860或其它适当的机制连接至系统总线821。在网络化环境中,相对于计算机810所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图8示出远程应用程序885驻留在存储器设备881上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
虽然示出和描述了一个或多个示例性实现,但是应该理解可以对其作出各种改变而不背离此处所附的权利要求的精神和范围。

Claims (20)

1.一种用于将视觉效果应用于视觉元素的方法,所述方法包括:
提供包括一个或多个效果、一个输入和一个输出的有向无环图,所述一个或多个效果中的每一个都包括一变换函数;
在所述输入处提供所述视觉元素;
判定在所述有向无环图中是否有所述一个或多个效果的下一个效果,并且如果有,则
将所述视觉元素提供给所述下一效果的输入,
判定所述视觉元素的格式是否与所述下一效果兼容,并且如果不是,
则将所述视觉元素转换成兼容格式,
将所述下一效果的所述变换函数应用于所述视觉元素,以便使用所
述下一效果来修改所述视觉元素,
重复所述判定步骤,直至在所述有向无环图中没有所述一个或多个
效果的下一个效果;以及
在所述输出处提供所述视觉元素。
2.如权利要求1所述的方法,其特征在于,所述变换函数是双向变换函数。
3.如权利要求1所述的方法,其特征在于,所述视觉元素是位图。
4.如权利要求1所述的方法,其特征在于,所述作为输出的视觉元素是在用户界面中显示的。
5.如权利要求1所述的方法,其特征在于,所述作为输入的视觉元素是从存储设备提供的,而所述作为输出的视觉元素是存储在所述存储设备中的。
6.如权利要求1所述的方法,其特征在于,所述视觉元素包括视频。
7.如权利要求1所述的方法,其特征在于,所述视觉元素被转换成位图。
8.如权利要求7所述的方法,其特征在于,所述作为输出的视觉元素保持其交互性功能。
9.如权利要求1所述的方法,其特征在于,所述视觉元素是以动画表现的。
10.如权利要求1所述的方法,其特征在于,所述方法具体化为计算机可读介质上的计算机可执行指令。
11.一种变换视觉元素上的命中事件的坐标的方法,所述方法包括:
提供包括一个或多个效果、一个输入和一个输出的有向无环图,所述一个或多个效果中的每一个都包括一双向变换函数;
将所述一个或多个效果应用于所述视觉元素;
在所述输入处提供所述命中事件的坐标;
判定在所述有向无环图中是否有所述一个或多个效果的在前的效果,并且如果有,则
将所述坐标提供给所述在前的效果的输入,
将所述在前的效果的双向变换函数应用于所述坐标,以便基于所述
在前的效果来修改所述坐标,
重复所述判定步骤,直至在所述有向无环图中没有所述一个或多个
效果的另一在前的效果;以及
在所述输出处提供所述坐标。
12.如权利要求11所述的方法,其特征在于,所述视觉元素是位图。
13.如权利要求11所述的方法,其特征在于,所述视觉元素包括视频。
14.如权利要求11所述的方法,其特征在于,所述命中事件是用户输入的结果。
15.如权利要求1所述的方法,其特征在于,所述方法具体化为计算机可读介质上的计算机可执行指令。
16.一种用于将视觉效果应用于活动内容的系统,所述系统包括:
包括一个输入和一个输出的效果对象,所述效果对象包括一个或多个其他效果对象或一个或多个效果图元;
用于在所述一个或多个其他效果对象中的某几个、所述一个或多个效果图元中的某几个、所述输入和所述输出之间建立耦合以形成一有向无环图的装置;
用于向所述输入提供所述活动内容的装置;
用于将构成所述有向无环图的所述一个或多个其他效果对象中的某几个或所述一个和多个效果图元中的某几个的每一个的变换函数应用于所述活动内容以得到经变换的活动内容的装置;以及
将所述经变换的活动内容提供给所述输出的装置。
17.如权利要求16所述的系统,其特征在于,所述变换函数是双向变换函数。
18.如权利要求17所述的系统,其特征在于,还包括:
用于将所述经变换的活动内容上的命中事件的坐标提供给所述效果对象的装置;
用于将构成所述有向无环图的所述一个或多个其他效果对象中的某几个或所述一个和多个效果图元中的某几个的每一个的双向变换函数应用于所述命中事件的坐标以得到经变换的坐标的装置;以及
用于将所述经变化的坐标提供给命中测试功能的装置。
19.如权利要求16所述的系统,其特征在于,所述活动内容包括视频。
20.如权利要求16所述的系统,其特征在于,所述系统具体化为计算机可读介质上的计算机可执行指令。
CN2006800333605A 2005-09-13 2006-09-05 用户界面中活动内容上的可扩展视觉效果 Expired - Fee Related CN101283328B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71673505P 2005-09-13 2005-09-13
US60/716,735 2005-09-13
US11/457,711 US8026920B2 (en) 2005-09-13 2006-07-14 Extensible visual effects on active content in user interfaces
US11/457,711 2006-07-14
PCT/US2006/034613 WO2007032972A1 (en) 2005-09-13 2006-09-05 Extensible visual effects on active content in user interfaces

Publications (2)

Publication Number Publication Date
CN101283328A true CN101283328A (zh) 2008-10-08
CN101283328B CN101283328B (zh) 2011-08-03

Family

ID=37856794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800333605A Expired - Fee Related CN101283328B (zh) 2005-09-13 2006-09-05 用户界面中活动内容上的可扩展视觉效果

Country Status (11)

Country Link
US (1) US8026920B2 (zh)
EP (1) EP1949210A4 (zh)
JP (1) JP4927846B2 (zh)
KR (1) KR20080042835A (zh)
CN (1) CN101283328B (zh)
BR (1) BRPI0615776A2 (zh)
CA (1) CA2618862C (zh)
MX (1) MX2008003406A (zh)
NO (1) NO338043B1 (zh)
RU (1) RU2008109488A (zh)
WO (1) WO2007032972A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8689132B2 (en) 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US9933937B2 (en) 2007-06-20 2018-04-03 Apple Inc. Portable multifunction device, method, and graphical user interface for playing online videos
US9772751B2 (en) 2007-06-29 2017-09-26 Apple Inc. Using gestures to slide between user interfaces
US11126321B2 (en) 2007-09-04 2021-09-21 Apple Inc. Application menu user interface
US8619038B2 (en) * 2007-09-04 2013-12-31 Apple Inc. Editing interface
US9619143B2 (en) 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US8423883B1 (en) * 2009-09-11 2013-04-16 Adobe Systems Incorporated Systems and methods of creating and editing electronic content including multiple types of graphics
US8736561B2 (en) 2010-01-06 2014-05-27 Apple Inc. Device, method, and graphical user interface with content display modes and display rotation heuristics
US20130080953A1 (en) * 2011-09-27 2013-03-28 International Business Machines Corporation Multi-area widget minimizing
US8930810B2 (en) * 2012-02-13 2015-01-06 International Business Machines Corporation User interface (UI) color scheme generation and management according to visual consistency of visual attributes in the color scheme
CN104106098B (zh) * 2012-08-03 2019-05-03 梦工厂动画公司 有向无环图中的约束评估
US10528214B2 (en) * 2016-12-28 2020-01-07 Microsoft Technology Licensing, Llc Positioning mechanism for bubble as a custom tooltip
US10877643B2 (en) * 2018-03-15 2020-12-29 Google Llc Systems and methods to increase discoverability in user interfaces

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603982B2 (ja) * 1988-02-12 1997-04-23 日本放送協会 映像信号処理システムのマルチプロセッサ結合装置
DE69225544T2 (de) * 1991-08-13 1998-12-03 Xerox Corp Elektronische Bilderzeugung
GB2340362B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
GB2340361B (en) 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
GB2340360B (en) 1998-07-31 2002-11-06 Sony Uk Ltd Animation of video special effects
US6522331B1 (en) * 2000-02-01 2003-02-18 Stormfront Studios, Inc. Character animation using directed acyclic graphs
US7450114B2 (en) * 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
US7064766B2 (en) * 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US7412662B2 (en) * 2004-04-12 2008-08-12 Microsoft Corporation Method and system for redirection of transformed windows
US20060290705A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Performing a pre-rendering pass in digital image processing
US7554550B2 (en) * 2005-06-24 2009-06-30 Microsoft Corporation Non-destructive processing of digital image data
US7519233B2 (en) * 2005-06-24 2009-04-14 Microsoft Corporation Accumulating transforms through an effect graph in digital image processing
US7619628B2 (en) * 2005-06-24 2009-11-17 Microsoft Corporation Caching digital image data
US7295208B2 (en) * 2005-06-24 2007-11-13 Microsoft Corporation Translating layers into effect graphs in digital image processing

Also Published As

Publication number Publication date
US8026920B2 (en) 2011-09-27
MX2008003406A (es) 2008-03-27
US20070061744A1 (en) 2007-03-15
NO338043B1 (no) 2016-07-25
EP1949210A1 (en) 2008-07-30
EP1949210A4 (en) 2009-01-07
KR20080042835A (ko) 2008-05-15
JP4927846B2 (ja) 2012-05-09
RU2008109488A (ru) 2009-10-10
NO20080709L (no) 2008-04-14
CA2618862A1 (en) 2007-03-22
CA2618862C (en) 2013-12-24
BRPI0615776A2 (pt) 2011-05-24
JP2009508256A (ja) 2009-02-26
WO2007032972A1 (en) 2007-03-22
CN101283328B (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
CN101283328B (zh) 用户界面中活动内容上的可扩展视觉效果
US10534605B2 (en) Application system having a gaming engine that enables execution of a declarative language
Parisi Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages
Baggio Mastering OpenCV with practical computer vision projects
Kramer et al. Hacking the kinect
Rahman Beginning Microsoft Kinect for Windows SDK 2.0: Motion and Depth Sensing for Natural User Interfaces
US11816459B2 (en) Graphical user interface programming system
Falahati OpenNI cookbook
Moreland The paraview tutorial
Petzold Programming Windows Phone 7
Baggio OpenCV 3.0 computer vision with java
Jackson Android apps for absolute beginners: covering Android 7
JP7457211B2 (ja) サードパーティ資産を用いて拡張現実体験を促進するためのコンピューティングプラットフォーム
Oehlke Learning Libgdx Game Development
Borycki Programming for Mixed Reality with Windows 10, Unity, Vuforia, and UrhoSharp
Dirksen Three. js Cookbook
Newnham Microsoft HoloLens By Example
Howse OpenCV for Secret Agents
Rahman et al. Miscellaneous Tools
Sung et al. Build your own 2D game engine and create great web games
Allen et al. The essential guide to open source flash development
Gómez et al. ShaderBase: A Processing Tool for Shaders in Computational Arts and Design.
Rahman et al. Game development with Unity
Howse OpenCV 4 for Secret Agents: Use OpenCV 4 in secret projects to classify cats, reveal the unseen, and react to rogue drivers
Chin et al. Pro Android Flash

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110803

Termination date: 20190905

CF01 Termination of patent right due to non-payment of annual fee