用户界面中活动内容上的可扩展视觉效果的制作方法

文档序号:6568908阅读:150来源:国知局
专利名称:用户界面中活动内容上的可扩展视觉效果的制作方法
用户界面中活动内容上的可扩展视觉效果些旦 NT尿有时,应用程序开发者期望实现包含使得该用户界面区别于其他用户界面 的独特元素的用户界面,和/或当用户经由该用户界面操作应用程序时增强用户 体验。开发者可能希望定制用户界面的一种方式是创建用信号通知用户界面改 变或修改用户界面的元素的视觉效果。然而,现有的平台不支持将视觉效果应 用于用作用户界面的一部分的内容。概述以下提供了本发明的简述,以便向读者提供基本的理解。该简述不是对本 发明的广泛综述,它并非旨在标识本发明的关键/重要元素或描绘本发明的范 围。其唯一的目的是以简化的形式提供本发明的一些概念,以作为后面提出的 更为详细描述的序言。本发明描述了用于将视觉效果应用于诸如按钮、组合框、视频、编辑域等 活动内容的方法和系统,其中在这之后保留该活动内容的交互性。本发明还向 开发者提供了构建新的视觉效果并将它们应用于活动内容的机制。这些视觉效 果包括例如模糊、发光、闪烁、爆炸、扩展、收縮、消退、变灰、漩涡、波动、 组合、闪耀或任何其他可应用于活动内容的视觉效果。结合附图考虑,参考以下详细描述将能更容易地理解和更好地了解许多附 带的特征。附图简述根据附图,阅读以下详细描述能更好地理解本描述,附图中

图1是示出示例性效果对象的框图。图2是显示包括各种输入和输出引脚的示例性效果对象的框图。图3是显示包括两个效果图元的示例性效果对象的框图,每个效果图元支持各种输入和输出格式。图4是显示示例性效果对象的框图。图5是显示在应用爆炸效果之前和之后的示例性按钮的框图。图6是显示用于向视觉元素提供一个或多个效果的示例性方法的框图。图7是显示变换命中坐标以便对已应用了效果的视觉元素进行准确的命中测试的示例性方法的框图。图8是示出可以在依照本发明的一个或多个实现中使用的通用计算环境的框图。相同的参考标号用于指示附图中相同的部分。 详细描述以下结合附图提供的详细描述旨在作为对本示例的描述,而非旨在表示可 构造或使用本示例的唯一形式。本描述阐明了各示例的功能和用于构造和操作 各示例的步骤序列。然而,可以由不同的示例来完成相同或等价的功能和序列。虽然本示例此处被描述和示出为在计算机系统中实现,但是所描述的系统 是作为示例而非限制来提供的。本领域的技术人员会理解,本示例适于应用在 各种不同类型的计算和图形系统中。在整个描述中使用了多个术语,这些术语在以下明确定义。以下定义意在 取代可能在本领域中已知的任何替换性定义。活动内容一诸如按钮、组合框、编辑域、复选框、图像、视频等能够支持 某种形式的用户交互或以某种形式动画表现的视觉元素。活动内容可以在存储 器中呈现而无需在屏幕上显示。效果(Effect) —效果是构成效果图(EffectGraph)(即有向无环图(DAG)) 的对象。效果图元(EffectPrimitive) —这是基本效果。它不包含任何子效果。它 是开发者一般创建的效果。这是对效果作出实际像素处理的对象。效果一该术语通常在可以使用或指定Effect或EffectPrimitive时使用。 效果图(EffectGraph) —这是指整个效果图(即是一个或多个DAG中的 最高效果的某个效果)。引脚一这用于描述由效果展示的用于将效果连接在一起或用于其它目的的连接点(经由IMILBitmapEffectI叩utConnector(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也可用于将视觉效果应用于存储器中的 位图,而无需曾经显示位图。此外,效果IOO可以表现描述其输入的属性的其 他特性。例如,位图效果(BitmapEffect)可以表示出色彩柱状图信息或面部 检测信息。所提供的特定效果一般由诸如示例性下锅100等效果中包含的效果 和效果图元来确定的。通常在诸如输入101等示例性效果100的输入处提供视觉元素的位图。输 入位图由效果100处理,以提供效果(或效果的集合,如果效果包括诸如 104a-104d等多个效果图元或其他效果),而包括效果的位图在诸如输出102等效果100输出处提供。图2是显示包括各种输入和输出引脚的示例性效果对象200的框图。展示 诸如引脚210等一组输入/输出引脚而非仅展示输出图像的优势是这种引脚允 许查询效果的输入和输出格式以及其他信息,而无需实际运行效果。每个引脚 可以接受/生成多种格式的图像。引脚接受/生成的格式可以通过 IMILBitmapEffectlnputConnector或IMILBitmapEffectOutputConnector (IMIL 位图效果输出连接器)接口的GetFormat()(获得格式)和GetNumberFormats() (获得数字格式)方法来枚举。每个引脚也可以具有最优格式一效果期望在其 输入/输出处接受/生成的格式。如果两个连接的引脚具有相同的最优格式而非 通常使用的格式。否则,通常基于在效果图形的结尾处请求的初始输出格式来 确定某些其他的匹配格式。如果没有互相匹配的格式,那么当数据从一个效果 的输入流到下一个效果的输入时会发生转换,如结合图3所示的。图3是显示包含两个效果图元的示例性效果对象300的框图,每个效果图 元支持各种输入和输出格式。效果图元1被示为支持两种输出格式, MILPixelFormat24bbpBGR (MIL像素格式24bbp BGR) —由星号所示的最优 输出,和第二输出格式,MILPixelFormat32bppARGB (MIL像素格式32bbp ARGB),效果图元2被示为支持两种输入格式,其中最优输入格式与效果图 元1的最优输出格式的最优输出格式相同。效果图元1和效果图元2之间的连 接310不会导致格式转换,因为它们共享MILPixdFormat24bppBGR的最优格 式类型。效果图元l将被请求以其最优格式输出,并且结果将被传递到效果图 元2中。效果图元2被示为支持单个输出格式,MILPixelFormat32bppGray (MIL 像素格式32bpp灰色)(其最优格式如星号所示),并且被连接320到效果300 的单个输出330。但是效果300的唯一输出格式是MILPixelFormat32bppARGB, 不同于效果图元2的唯一输出格式。因此,在效果图元2的输出和整个效果图 300的输出之间将发生转换。在如何处理格式失配的一个示例中,如果在图形和连接到图形输出的效果 之间最优格式不匹配,那么将请求最近请求的格式(即 MILPixelFormat32bppGray,如图3中所示)。如果最近请求的输出格式不是作为图形的输出而存在的,那么可以选择随机格式。DAG中的每个输出引脚(IMILBitmapEffectOutputCo皿ector)可以被链接到另一效果的输入引脚,只要它保持图形的无环特性。该链接可以是 一对多 (即单个输出连接可以链接到多个输入连接,但反之则不然)。图4是显示示例性效果对象400的框图。在该示例中,效果对象400是由 诸如C# (C升半音号)等受控代码构建的包装(wrapper) 420组成的,它包含对 实际效果代码410的非受控实现,以诸如0++等代码来实现。示例性对象400 包括单个输入401和单个输出490。在替换性示例中,可以提供多个输入和/ 或输出。在需要或提供格式转换的情况下,这种转换代码通常被包括在包装420 中。或者,转换代码可以被包括在非受控代码部分410中,或是由某一其他模 块提供。同样包括作为效果对象400的一部分的是变换函数F(p)430。在一个示例 中,包括变换函数430作为非受控代码410的一部分。变换430是变换通常采 用位图形式的输入视觉元素,以提供具有某些新的视觉效果的视觉元素的函 数。 一般而言,这种变换函数430可以被应用于作为光栅图形构造、矢量图形 构造等的视觉元素上。例如,假设期望在用户界面中提供一按钮,并且当鼠标位于该按钮上方时 使得该按钮"发光"。在这种情况下,可以创建发光效果对象,并且使其与按 钮相关联,发光效果的变换函数对按钮位图执行操作,以使其看起来发光。注 意,按钮的功能保持不变一仅按钮的视觉方面被效果所修改。即,用户仍然可 以使得鼠标光标悬停在按钮上方、点击按钮等,而按钮会如期望地表现。在常规的用户界面中,通常采用"命中测试(hittesting)"来确定是否应 该将诸如鼠标点击或键击等某一用户输入应用于视觉元素或活动内容。g卩,例 如当用户点击按钮时,命中测试代码测试鼠标点击的坐标以确定点击是否是对 按钮作出的。如果是,那么按钮相应地响应,诸如在下方的位置重画自己、启 动与按钮相关联的功能等。在视觉效果与按钮相关联的情况下,重要的是命中测试继续如期望地运 作。使用发光效果对象的示例,当鼠标光标悬停在按钮上方时,相关联的发光 效果对象会导致按钮具有发光的外观。除了发光效果之外,由于鼠标位于上方事件,按钮也会如其通常所做的那样突出显示。点击安妮也会产生期望的结果。 在一个示例中,效果对象可以与视觉元素相关联,作为元素的特性。图5是显示应用爆炸效果之前和之后的示例性按钮的框图。考虑产生爆炸 效果的效果对象一使得相关联的视觉元素分裂成若干个碎片,并随着时间的推 移在用户界面上散布它们。图5提供了这种效果之前和之后的示例。在画面501— "之前"画面中,用户界面(UI) 500被示为具有应用爆炸 效果之前的常规按钮502,这可能是按钮上的鼠标位于上方事件或点击事件的 结果。画面502— "之后"画面显示具有应用爆炸效果后的按钮504的同一用 户界面500。按钮504被示为分裂成三个碎片504a-504c,其每一个在UI 500 上彼此分离。该爆炸效果是部分地通过爆炸变换函数来实现的,该爆炸变换函数将输入 按钮位图的每个比特映射到新的位置,诸如若干个碎片中。在诸如爆炸的"移 开"方面,这种映射会随着时间改变,可能直至碎片"停留"在UI上的某处。不管变换如何,按钮都如期望地继续运作。S卩,用户可以点击经爆炸的按 钮504的任何碎片,而按钮会如同它没有爆炸一样。这意味着命中测试代码继 续如期望地运作。这是通过用户事件经过效果对象并且变换函数确定按钮是否 被"命中"来促进的。通常这是通过反向解出变换函数或通过使用双向变换函 数来完成的。变换函数可以执行仿射变换或非仿射变换。例如,仿射变换可以包括放大、 收缩、伸展或旋转位图。非仿射变换可以包括诸如模糊、发光、变灰、暗淡、 消退、闪耀、闪烁、闪光、变形或在其中以某种方式添加、删除和/或修改位图 的元素的任何其他类似效果等效果。此外,变换函数可以不转变输入位图的所 有原始比特,诸如当提供消失、收缩、离开、将直线变换成点等效果时。其他 可能的变换包括漩涡、波动、分裂、复制、将多个位图合并成一个等。在某些 情况下,效果可导致来自输入位图的比特被映射到多个位置、任意的位置或一 起消失。在所有进行的示例中,变换函数也提供指示经修改的比特是否被某个 用户"命中",以确保命中测试功能继续如期望地运作的能力。图6是显示用于向视觉元素提供一种或多个效果的示例性方法600的框 图。在图1中所示并且在下文中方法600的描述中使用的诸如效果对象100等效果对象可以使用这种方法600。在框610处,方法600以在效果对象100的输入处提供视觉元素位图开始。 这可以通过任意数目的常规软件进程和/或技术发生。在框620处, 一测试判定在效果对象100 DAG中是否包含下一效果图元 来处理位图。如图1中所示,效果对象可以包含效果图元和/或其他效果对象, 其一个或多个输入连接到效果对象100的输入,并且每一输出连接到一个或多 个其他效果图元和/或效果输入或效果对象100的输出。如果有下一效果图元, 那么方法600继续到框650处。否则方法600继续到框630处。在框630处, 一测试判定在对象IOO DAG中是否包含下一效果对象。如 果有下一效果对象,假定为"效果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处, 一测试判定在效果对象100 DAG中是否包含在前的效果图 元,用于变换坐标。如图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处, 一测试判定测在效果对象100 DAG中是否包含在前的效果 对象。如果有在前的效果对象,假定为"效果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内的元件之间传输信息的基 本例程,它通常储存在ROM831中。RAM832通常包含处理单元820立即可 访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图8示出 了操作系统834、应用程序835、其它程序模块836和程序数据837。计算机810也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图8示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器841、对可移动、非易失性磁盘852进行读写的磁盘驱动器851,以及对 可移动、非易失性光盘856,如CDROM或其它光介质进行读写的光盘驱动器 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,由此使得图像能够被路由到RAM 832或与计算机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上。可以理解,示出的网络连接是示例性的,也可以使 用在计算机之间建立通信链路的其它手段。虽然示出和描述了一个或多个示例性实现,但是应该理解可以对其作出各 种改变而不背离此处所附的权利要求的精神和范围。
权利要求
1.一种用于将视觉效果应用于视觉元素的方法,所述方法包括提供包括一个或多个效果、一个输入和一个输出的有向无环图,所述一个或多个效果中的每一个都包括一变换函数;在所述输入处提供所述视觉元素;判定在所述有向无环图中是否有所述一个或多个效果的下一个效果,并且如果有,则将所述视觉元素提供给所述下一效果的输入,判定所述视觉元素的格式是否与所述下一效果兼容,并且如果不是,则将所述视觉元素转换成兼容格式,将所述下一效果的所述变换函数应用于所述视觉元素,以便使用所述下一效果来修改所述视觉元素,重复所述判定步骤,直至在所述有向无环图中没有所述一个或多个效果的下一个效果;以及在所述输出处提供所述视觉元素。
2. 如权利要求1所述的方法,其特征在于,所述变换函数是双向变换函数。
3. 如权利要求l所述的方法,其特征在于,所述视觉元素是位图。
4. 如权利要求l所述的方法,其特征在于,所述作为输出的视觉元素是 在用户界面中显示的。
5. 如权利要求1所述的方法,其特征在于,所述作为输入的视觉元素是 从存储设备提供的,而所述作为输出的视觉元素是存储在所述存储设备中的。
6. 如权利要求l所述的方法,其特征在于,所述视觉元素包括视频。
7. 如权利要求l所述的方法,其特征在于,所述视觉元素被转换成位图。
8. 如权利要求7所述的方法,其特征在于,所述作为输出的视觉元素保 持其交互性功能。
9. 如权利要求1所述的方法,其特征在于,所述视觉元素是以动画表现
10. 如权利要求1所述的方法,其特征在于,所述方法具体化为计算机可 读介质上的计算机可执行指令。
11. 一种变换视觉元素上的命中事件的坐标的方法,所述方法包括 提供包括一个或多个效果、 一个输入和一个输出的有向无环图,所述一个或多个效果中的每一个都包括一双向变换函数;将所述一个或多个效果应用于所述视觉元素; 在所述输入处提供所述命中事件的坐标;判定在所述有向无环图中是否有所述一个或多个效果的在前的效果,并且 如果有,则将所述坐标提供给所述在前的效果的输入,将所述在前的效果的双向变换函数应用于所述坐标,以便基于所述 在前的效果来修改所述坐标,重复所述判定步骤,直至在所述有向无环图中没有所述一个或多个 效果的另一在前的效果;以及 在所述输出处提供所述坐标。
12. 如权利要求ll所述的方法,其特征在于,所述视觉元素是位图。
13. 如权利要求ll所述的方法,其特征在于,所述视觉元素包括视频。
14. 如权利要求11所述的方法,其特征在于,所述命中事件是用户输入 的结果。
15. 如权利要求l所述的方法,其特征在于,所述方法具体化为计算机可 读介质上的计算机可执行指令。
16. —种用于将视觉效果应用于活动内容的系统,所述系统包括 包括一个输入和一个输出的效果对象,所述效果对象包括一个或多个其他效果对象或一个或多个效果图元;用于在所述一个或多个其他效果对象中的某几个、所述一个或多个效果图 元中的某几个、所述输入和所述输出之间建立耦合以形成一有向无环图的装 置;用于向所述输入提供所述活动内容的装置;用于将构成所述有向无环图的所述一个或多个其他效果对象中的某几个或所述一个和多个效果图元中的某几个的每一个的变换函数应用于所述活动 内容以得到经变换的活动内容的装置;以及将所述经变换的活动内容提供给所述输出的装置。
17. 如权利要求16所述的系统,其特征在于,所述变换函数是双向变换 函数。
18. 如权利要求17所述的系统,其特征在于,还包括用于将所述经变换的活动内容上的命中事件的坐标提供给所述效果对象 的装置;用于将构成所述有向无环图的所述一个或多个其他效果对象中的某几个或所述一个和多个效果图元中的某几个的每一个的双向变换函数应用于所述 命中事件的坐标以得到经变换的坐标的装置;以及用于将所述经变化的坐标提供给命中测试功能的装置。
19. 如权利要求16所述的系统,其特征在于,所述活动内容包括视频。
20. 如权利要求16所述的系统,其特征在于,所述系统具体化为计算机 可读介质上的计算机可执行指令。
全文摘要
用于将视觉效果应用于诸如按钮、组合框、视频、编辑域等活动内容的方法和系统,其中在此后保留活动内容的交互性。本发明也向开发者提供了构建新的视觉效果并将其应用于活动内容的机制。
文档编号G06F3/048GK101283328SQ200680033360
公开日2008年10月8日 申请日期2006年9月5日 优先权日2005年9月13日
发明者A·M·史密斯, B·K·卡那瓦, E·M·玛伊亚, P·J·斯维纳亚, R·A·沃尔达茨科, R·V·帕蒂尔, S·塞博拉马尼亚 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1