内容生成系统的引导的制作方法

文档序号:12287680阅读:129来源:国知局
内容生成系统的引导的制作方法与工艺

计算机系统目前得到广泛使用。一些计算机系统帮助用户生成内容。

例如,一些演示应用包括辅助用户生成幻灯片演示的功能。另外,文字处理应用不仅允许用户向文档中插入文本,而且允许用户向文档中插入对象,例如表格、图像等。多种其它计算机系统也允许用户创建内容。

在创建内容时,尤其当要将内容呈现给观众时,用户通常希望生成具有整体一致性的内容。例如,当用户生成幻灯片演示时,用户可能希望使得在一个幻灯片上的对象与在随后的幻灯片上的对象大致对准。另外,即使是在同一幻灯片上,用户也可能希望知道对象何时彼此对准。

当前,一些演示计算机系统(或应用)显示引导(guide),其在拖曳(drag)和重新调整大小(resize)事件期间向用户指示何时对象在幻灯片上对准。例如,当用户在用户界面显示周围拖曳对象时,指示符在所述对象的边缘与幻灯片上的另一对象的边缘对准时或者在三个或更多形状是彼此等距的时被显示。还提供一些功能以便当对象在对准的阈值距离内时将对象锁扣进入对准(snap objects into alignment)。

提供上述讨论仅用于一般的背景信息,而不打算用作帮助确定所要求保护的主题的范围。



技术实现要素:

当用户生成视觉内容时,用户输入在视觉显示上被接收。所述用户输入触发引导功能,并且所述引导被显示以引导用户创建视觉内容。

提供该“发明内容”以引入在下文“具体实施方式”中进一步描述的简化形式的概念选集。该发明内容并不意图识别所要求保护的主题的关键特征或必要特征,也不打算用来帮助确定所要求保护的主题的范围。所要求保护的主题不限于对

背景技术:
中提及的任意或所有缺陷进行解决的实现方式。

附图说明

图1是视觉内容生成系统的一个实施例的框图。

图2是示出在图1中示出的系统执行直角引导和锁扣(snap)功能的操作的一个实施例的流程图。

图2A-2F示出了直角和引导功能的例子。

图3是示出图1所示的系统将对象与显示(例如幻灯片)对准的操作的一个实施例的流程图。

图4是示出图1所示的系统将对象与显示(例如,幻灯片)中心对准的操作的一个实施例的流程图。

图4A-4O示出了与显示中心对准的例子。

图5是示出图1所示的系统将一个或多个对象与显示(例如,幻灯片)的边沿对准的一个实施例的流程图。

图5A-5P示出了将一个或多个对象与显示的边沿对准的例子。

图6是示出图1所示的系统将一个对象的中心与另一对象的边缘对准一个实施例的流程图。

图6A-6D示出了执行对象的中心-边缘对准的例子。

图7是示出图1所示的系统生成过渡引导的操作的一个实施例的流程图。

图7A-7B示出了过渡引导的例子。

图8示出了在云计算架构中的图1所示的系统的一个实施例。

图9-13示出了移动设备的实施例。

图14是计算环境的一个实施例的框图。

具体实施方式

图1是视觉内容生成系统100的一个实施例的框图。系统100被示出生成用户界面显示102,其具有与用户106交互的用户输入机构104。用户106示例性地与用户输入机构104交互,以便控制和操纵系统100,以便生成并且编辑视觉内容。

将在当前讨论中将视觉内容生成系统100描述为幻灯片演示系统。然而,应注意的是,这只是视觉内容生成系统的一个实施例,并且还可以使用多种其它系统。例如,可以是文字处理系统、报告生成系统、或者任意多种其它视觉内容生成系统。

系统100示出为包括处理器108、用户界面部件110、内容生成功能112、引导生成系统114,并且其还可以包括其它项目116。引导生成系统114自身示例性地包括预定取向系统118、与显示对准(align-to-display)系统120、中心-边缘引导系统122、过渡引导系统124、触发检测系统126,并且其还可以包括其它项目128。

在描述视觉内容生成系统100的操作以及详细地描述更具体的引导生成系统114之前,将提供简略的概述。内容生成功能112是允许用户106利用系统100生成内容并编辑或删除内容的示例性的功能。例如,当系统100是幻灯片演示系统时,功能112允许用户106在幻灯片演示中创建、编辑或删除幻灯片。用户界面部件112生成具有用户输入机构104的用户界面显示。这可以通过其本身或在系统100的其它项目的控制下进行。引导生成系统114在创建内容时为用户106生成视觉引导。预定取向系统118显示引导,该引导允许用户106查看对象是否在预定取向上(例如,线是水平还是垂直的等)。“与显示对准”系统120显示引导,该引导允许用户106相对于在其上显示视觉对象的用户界面显示(例如相对显示视觉对象的幻灯片)而对准视觉对象。中心-边缘引导系统122显示引导,该引导允许用户106将在用户界面显示上的一个对象的中心与另一对象的边缘容易地对准。过渡引导系统124生成引导,该引导允许用户106对准在多个不同幻灯片上的对象。触发检测系统126检测用户106何时采取触发系统118-124之一的行动。

图2是更详细地示出预定取向系统118的操作的一个实施例的流程图。在图2中讨论的实施例中,预定取向系统118生成引导,该引导帮助用户106将对象置于预定取向上。对于所讨论的例子,预定取向将是水平取向和垂直取向。因此,例如,图2描述了系统118如何引导用户106生成水平和垂直线。然而,可以理解的是,它可以相对于具有细长轴的其它对象来引导用户106。它还可以引导用户106关于将对象的细长轴定位在其它预定取向上(例如45°角取向或其它)。

在任意情况下,图2假设用户106已经在显示(例如,幻灯片)上创建了某类型的内容。这由图2中的框140表示。触发检测系统126随后检测用户已经提供了输入,该输入触发由系统118实现的角度指示(angle indication)和锁扣(snapping)功能。检测触发由图2中的框142表示。所述触发可以是多种不同的触发。例如,在一个实施例中,如果用户106使用柄(handle)来将线或连接符(connector)重新调整大小,这可能触发系统118中的角度指示和锁扣功能。该触发由框144表示。触发也可以包括其它用户输入,并且这由框146表示。

假设用户已经提供了触发输入,则预定取向系统118确定用户正在重新调整大小的线或连接符是否在预定义取向的锁扣距离(snapping distance)内。这由图2中的框148所表示。例如,如果用户移动线的柄(handle)以使得线在无论水平或垂直的预定距离内,则系统118将正在被重新调整大小的线锁扣(snap)到所述预定义取向。这由框150所表示。锁扣到水平取向由框152所表示。锁扣到垂直取向由框154表示,而锁扣到另一预定义取向由框156表示。

系统118随后还示出预定义取向指示符,表示由用户重新调整大小的线是垂直或水平的。这由图2中的框158所表示。在一个实施例中,预定义取向指示符相对于由用户操纵的柄位于预定点(predetermined spot)处。这由框160表示。其还可以相对于被用户重新调整大小的线的长度而定位。这由框162表示。其还可以以其它方式定位,而这由框164所表示。

只要用户将触发输入继续,处理就继续回到框148。然而,当用户106将触发输入结束时,系统118的处理完成。这由框166表示。

现在将讨论多个例子。图2A示出了具有连接符或线170的用户界面显示168。线170在其相对端具有两个柄,分别用172和174表示。在一个实施例中,用户移动手柄174来移动线170或将其重新调整大小。箭头176具有的宽度针对预定义的垂直取向来定义锁扣区域。因此,如果用户106将柄170移动到由箭头176定义的锁扣区域中,则系统118可以将线170锁扣到垂直取向。箭头178针对水平取向进行相同的事情。因此,如果用户106将柄174移动到由箭头178定义的区域中,则系统118将线锁扣到水平取向。

一旦线170在预定义的取向(例如,水平或垂直)上,则系统118生成预定义取向指示符。图2B示出了这样的一个例子。在图2B中可以看到,用户已经将柄移动到由箭头178定义的范围内,从而系统118已经将线170锁扣到水平取向。因此,其显示预定取向指示符180。在图2B所示的实施例中,指示符180包括垂直轴指示符182和直角指示符184。因此,指示符180示出线170现在与垂直轴182垂直。在一个实施例中,指示符180位于柄174附近,但是与其间隔,因此用户可以看到指示符180,但是当用户用他或她的手指操纵柄174而绘制线的同时用户的手不太可能会遮蔽指示符180。

图2C和2D示出了两个额外的实施例,其中用户操纵在线170的相对端上的柄174。图2C和2D示出了系统118已经将线锁扣到垂直取向并因此显示了指示符180。

可能线170太短而不能方便地显示整个指示符180。在这种情况下,只能显示一部分指示符。图2E和2F例如示出了线170相对较短的实施例。在这种情况下,系统118可以选择只显示一部分指示符180,例如垂直轴182。在一个实施例中,所述垂直轴是沿着相对较短的线170为中心的,而不管用户106是否重新调整线170的大小。当然,在图2A-2F中示出的例子只是例子,并且还可以提供其它的指示符和功能。

图3是示出与引导对准(align-to guide)系统120的操作的一个实施例的流程图。系统120生成引导,该引导帮助用户106将对象与用户界面显示的各个部分(例如,幻灯片的各个部分)对准。因此,首先假设生成某对象的显示。这由图3中的框186所表示。

然后,触发检测系统126检测触发将对象与显示对准的输入。这由框188表示。在一个实施例中,系统120提供引导,该引导帮助用户106将对象与显示的中心对准。这由框190表示。在另一实施例中,系统120生成引导,该引导帮助用户106将对象与显示的边沿对准。这由框192表示。系统120可以生成引导,该引导还帮助用户106对准到幻灯片的其它部分,并且这可以由框194表示。

一旦触发检测系统126检测到用户输入触发,则系统120显示引导。这可以由框196表示。

图4是更详细地示出系统120生成引导的操作的一个实施例的流程图,所述引导允许用户106将对象相对于显示的中心对准。触发检测系统126首先接收用户输入触发,其触发系统120来显示引导,以将对象与显示的中心对准。接收该类型的触发由图4中的框198所表示。触发可以采用多种不同形式。

在一个实施例中,例如,如果触发包括用户与这样的对象进行交互(例如,移动、重新调整大小等):该对象使其中心或边缘与显示的中心对准。这由框200表示。在另一实施例中,触发包括用户与最近的邻近对象等距并且相对的对象进行交互。这由框202表示。

如果触发是对象使其中心或边缘已经与显示中心对准,则系统120生成中心对准引导。这由框204和206表示。在另一方面,如果触发是用户与这样的对象交互,该对象和最近的邻居等距且相对(opposite),则系统120显示中心线指示符和等距指示符。这由框204、208和210表示。只要用户在提供触发输入,该操作就继续。这由框212表示。

图4A-4O示出了多个不同例子。在这些图中,用户界面显示(例如,幻灯片)214示出用户已经创建了对象216,并且与所述对象交互,例如,移动它、将它重新调整大小等。在图4A中可以看到,用户已经移动了对象216,从而对象的中心与用户界面显示(例如,幻灯片)的中心218对准。在这种情况下,系统120生成引导220和222。在一个实施例中,引导220和222延伸到对象的边界框的边缘或延伸到幻灯片的边缘,以较长者为准。当然,这只是一个例子。

图4B是另一例子,其中用户已经移动了对象216,从而其中心与幻灯片214的垂直中心对准。然而,对象未与幻灯片214的水平中心对准。在这种情况下,系统120只生成水平引导222,其示出了对象216的中心与幻灯片214的垂直中心对准。

图4C示出了幻灯片214的另一实施例。在图4C中示出的实施例中,用户已经移动了对象216,从而其边缘与幻灯片214的水平中心对准。因此,系统120生成垂直引导220以表示这一点。

图4D示出了对准多个对象的幻灯片214的实施例。可以看到,对象216使其中心与幻灯片214的水平中心对准,并且对象217使其边缘与幻灯片214的中心对准。因此,系统120生成引导220以表示这一点。图4E类似于图4D,只是对象216和217使其中心与幻灯片214的水平中心对准。因此,由系统120绘制引导220。

图4F-4P示出了其中系统120生成引导的例子,所述引导示出对象与幻灯片214的一部分等距。然而,首先,回想一下,触发生成这种引导是用户与和相对于幻灯片214的一部分为最近的邻居等距并相对的对象进行交互。识别最近的邻居的一种方式是假设对象沿着其轮廓自该对象在四个方向(例如,北、南、东和西)上投射光。接收其光的任意形状被认为是其最近的邻居之一。例如,图4F示出了具有对象226-240的幻灯片214。假设将要针对其定位最近邻居的对象是对象226。从对象226发射的虚线表示跨对象226的轮廓在所有四个方向上发射的光。可以看到,所有的对象228-238都有一些光撞击到其上。也就是,它们都具有以无障碍方式向对象226的表面暴露的表面。然而,对象240未以这种方式相对对象226布置。因此,所有的对象228-238被认为是对象226的最近的邻居,但是对象240不是。当然,这只是出于系统120的触发功能的目的如何确定最近的邻居的一个例子。

在这种理解下,图4G示出了用户界面显示214的一个实施例,其中对象216和217与幻灯片214的水平中心等距并在其相对的侧上,如引导220所表示的。系统120还因此显示两个额外的引导方针(guideline)242和244以及距离箭头246和248。

图4H类似于图4G,并且对类似的项目进行类似地编号。然而,图4H示出了,即使对象216和217在另一对象250内,系统120也生成引导。

图4I-4K是系统120不生成等距引导的实例的例子。应该注意的是,在这些图的每个中,垂直引导220只是为了解释的原因而示出的,尽管不是由系统120显示的。在图4I中,因为形状不是最近的邻居,所以没有显示等距引导。也就是说,在所有四个方向上(例如,北、南、东和西)从对象216发出的光将不撞击到对象217上。在图4J中,形状再次不是最近的邻居,因为对象217不再具有对于对象216的外表面暴露的外表面。在图4K中,不生成等距引导,因为对象216和217距离中心线不是等距的。

图4L示出了例子,其中对象216和217是最近的邻居,并且它们距离幻灯片214的垂直中心相等间隔并在该垂直中心的相对侧,如引导222所表示的。可以看到,等距指示符类似图4G所示,除了它们是相对于线222而不是相对于线220显示的。

图4M-4O示出了对于多个对准的等距间隔的例子。例如可以从图4M中看出,对象216、217和254都满足相等间隔以及最近邻居的触发。因此,系统120绘制等距引导,但是将引导244延伸从而其接触对象217和254的边缘。

图4N类似于图4M并且类似的项目被类似地编号。然而,图4示出了对象216、217和254距离幻灯片214的垂直中心是等距的,如引导222所表示的。因此,相应地显示等距引导。

图4O示出了系统120生成的引导可能与另一系统生成的引导冲突的例子。例如,引导生成系统114包括平均间隔引导,其向用户106显示何时对象彼此等距间隔,而不管它们在幻灯片214上什么地方。然而,还可以存在如下场景,其中两个对象也距离中心线相等间隔。在图4O中示出的实施例中,例如,假设用户与对象256交互。可以看到,对象256和258是最近的邻居,并且与幻灯片214的水平中心等距且相对于水平中心彼此相对,如引导220所表示的。然而,对象256、258和260也是彼此等距的。在这种情况下,系统120可以只显示上面讨论的等距引导的子集。例如,引导生成系统114可以生成一组等距引导262、264、266、268、270和272,其向用户106表示对象256、258和260彼此相等地间隔。然而,还可以生成引导220,以表示对象256和258距离幻灯片214的水平中心也是等距的。当然,这只是一个例子,并且还可以使用其它方式解决冲突的引导之间的冲突,或也可以使用多个引导。可以启发式地或以其它方式使用预定优先权、使用冲突解决方案规则,来执行冲突解决方案。

图5是示出与显示对准(align-to-display)系统120的操作的一个实施例的流程图,其中所述系统示出了用于将对象与幻灯片214的边沿而不是与其中心对准的引导。在图5所示的实施例中,触发检测系统126首先接收用户输入触发,其触发系统120以显示引导,所述引导向用户106示出对象相对于幻灯片的边沿对准。这在图5中由框274表示。

作为一个例子,假设用户与第一对象交互。触发检测系统126随后检测到第二对象至少接触第一对象的水平面,并且这两个对象具有相对的最靠近的垂直幻灯片边缘,并且从对象到其最靠近的垂直幻灯片边缘的水平距离相同。这由框278和280表示。在图5所示的实施例中,还假设触发检测系统126检测到在第一对象和最靠近它的垂直幻灯片边缘之间的并且跨越这两个对象的高度的区域没有其它对象。这由框282表示。还假设触发检测系统126检测到在第二对象和最靠近它的垂直幻灯片边缘之间的并且跨越这两个对象的高度的区域没有其它对象。这由框284表示。如果这些中的每个都是真的,则系统120显示对准引导,其用于将对象与幻灯片的边沿对准。这由框286表示。在下文更详细地讨论与幻灯片214的水平边沿对准的多个例子。

在图5的框274处,也有可能触发检测系统126已检测到用户输入正在触发对垂直边沿对准引导的显示。例如,触发检测系统126可以检测到第二对象至少接触第一对象的垂直面。这由框288表示。还可以检测到对象具有相对的最靠近的水平幻灯片边缘,并且从对象到其最靠近的水平幻灯片边缘的距离相等。这由框290和292表示。此外,系统126可以检测到在第一对象和最靠近它的水平幻灯片边缘之间的并且跨越这两个对象的高度的区域没有其它对象。这由框294表示。检测系统126还可以检测到在第二对象和最靠近它的水平幻灯片边缘之间的并且跨越这两个对象的高度的区域没有其它对象。这由框296表示。

如果所有这些都是真的,则系统120显示对准引导,其用于将对象相对于水平幻灯片边缘对准。该过程继续,直到用户不再提供触发输入为止。这由框298表示。在下文讨论与水平幻灯片边缘对准的多个例子。

图5A示出了显示垂直边沿对准引导290和292的例子。可以看到,垂直对准引导290和292表示对象216和218与幻灯片214的垂直边沿(或边缘)294和296等距间隔。引导290包括与幻灯片边缘294垂直的垂直引导298以及与引导298垂直的箭头300。引导292包括垂直引导302和箭头304。

图5C-5E示出了如何检测用于与垂直幻灯片边缘294和296对准的触发的例子。在图5C中可看到,被移动的对象(对象216)的水平面由虚线308和310定义。在对象216和217以及它们各自的最靠近的垂直幻灯片边缘294和296之间的区域必须是没有其它对象的,且分别由区域312和314表示。

图5D类似于图5C,并且类似的项目被类似地编号。然而,在图5D中可以看到,被移动的对象的水平面由虚线308和310定义,但是必须是没有对象的区域现在由虚线310、313和315定义(针对对象216),以及由虚线310、313和316(针对对象217)定义。其跨越这两个对象的高度。

图5E类似于图5D,并且类似的项目被类似地编号。然而,现在可以看到,对象216仅接触对象217的水平面。因此,这仍是触发,因为对象217至少接触对象216的水平面。然而,如果对象217在垂直方向上被移动任意更高,则触发就将不再存在。

图5F和5G类似于图5C和5E,只是它们示出了相对于幻灯片214的水平取向的幻灯片边缘318和320对准。因此,在图5F中在对象216和217之间必须没有其它对象的区域由线322、324和326(针对对象216)定义,以及由线322、324和328(针对对象217)定义。然而,在图5G中,所述区域由线324、326和330(针对对象216)和线324、328和330(针对对象217)定义。

图5H示出了幻灯片214的一个实施例,其中满足所有的触发条件,从而系统120将显示引导,该引导允许用户104识别出对象216和217与它们的对应的垂直幻灯片边缘294和296等距。图5I中的幻灯片214也是这样的。即使对象334布置在对象216和217之间,仍满足所有的触发条件。

然而,在图5J中,没有满足触发条件。这是因为对象326介入在对象216及其垂直幻灯片边缘294之间的区域中。因此,系统120没有生成引导。在图5K中,对象326只部分地阻塞在对象216及其对应的幻灯片边缘294之间的区域。然而,未生成触发。在图5L中,对象326再次部分地阻塞对象216的水平面内在对象217及与其对应的垂直幻灯片边缘296之间的区域。因此,未满足触发。

如图5L一样,图5M示出了未满足触发条件的场景。这是因为对象217不与用户正在交互的对象216在同一水平面(或至少不接触同一水平面)。

类似地,在图5N中,未满足触发条件。这是因为在对象216和217及与它们对应的幻灯片边缘294和296之间的距离不相等。

图5O示出了多于两个对象(对象216、217和328)与垂直幻灯片边缘294和296对准。因此,这由线302表示。该线从在最低对象328下方的位置绘制到在最高对象217上方的位置。图5P类似于图5O,只是其显示了相对于水平幻灯片边缘318和320的对准引导。

图6是示出中心-边缘引导系统122显示引导的操作的一个实施例的流程图,所述引导向用户106表示一个对象的中心与在显示214上另一对象的边缘对准。首先假设用户102已经提供内容以生成显示。这在图6中由框350表示。

触发检测系统126随后检测到用户已经提供输入以触发中心-边缘对准系统122来生成对准引导。这由框352表示。

在一个实施例中,例如,被编辑的对象(例如,对象216)具有与另一对象的中心-边缘对准。也就是说,该对象的中心或其边缘与另一对象的中心或边缘对准。这由框354表示。触发也可以是其它输入,如框356所表示的。当接收到触发时,系统126显示中心-边缘对准引导。这由框358表示。

图6A示出了这个的一个实施例。可以看到,在图6A中的用户界面显示214上,对象360与用户102正在交互。当在显示214上对象360的中心与另一对象362的边缘对准时,这触发系统122显示对准引导264。在一个实施例中,不管对象360-362之间的相对距离为何,即使它们位于幻灯片边沿的外部,也生成引导364。对准引导364示例性地穿过对象360和362之间的区域,并稍微延伸超过每个对象360和362。

图6B示出了即使两个对象366和368具有中心-边缘对准,其中对象之一(在该情况下是对象366)位于另一对象(在该情况下是对象368)的边沿内,也可以生成中心-边缘对准引导364。

图6C示出了两个对象370和372具有两个不同的中心-边缘对准。在一个对准中,对象370的中心与对象372的边缘对准。在这种情况下,系统122显示对准引导374。然而,对象372的中心还与对象370的边缘对准。因此,系统122还显示对准引导376。

图6D示出了另一个实施例,其中多个不同对象都满足中心-边缘对准的要求。所有的对象378、380和382都满足中心-边缘对准触发。因此,相对所有三个对象显示引导384。

图7是示出过渡引导系统124生成引导的操作的一个实施例的流程图,所述引导帮助用户106在不同幻灯片之间对准对象。首先假设用户已经编著了在多个不同用户界面显示(例如,多个不同幻灯片)上的内容。触发检测系统126随后接收用户输入,该用户输入触发过渡引导系统124来生成过渡引导。这在图7中由框390表示。在一种情况下,用户106可以简单地从由视觉内容生成系统100生成的用户界面显示中选择过渡引导栏标(transition guides tab)。对栏标(tab)或其它用户界面机构的选择由框392表示。用户输入还可以以其它方式触发过渡引导系统124,并且这由框394表示。

系统114然后接收表示第一显示和第二显示的用户输入。也就是说,用户106提供原始幻灯片的表示以及第二幻灯片的表示,其中在第二幻灯片上的对象将与在原始幻灯片上的对象对准。这由图7中的框396表示。在一个实施例中,(在第二幻灯片上的对象要与其对准的)第一或原始幻灯片是在幻灯片演示中的先前幻灯片。(将显示引导并且对象将由用户106移动的)第二幻灯片是被编著的当前幻灯片。这由框398表示。然而,用户也可能识别其它的第一和第二显示,并且这由框400所表示。一旦用户106识别出两个幻灯片,过渡引导系统124就生成第一显示的底层和第二显示的覆盖层。也就是,第一显示被显示在第二显示的下方,其中在第二显示中用户将要移动对象。这由图7中的框402所表示。

这可以通过多种不同方式来完成。例如,在一个实施例中,底层是将要向第二幻灯片过渡的第一幻灯片的半透明显示。在这种实施例中,可能系统100不允许用户修改底层上的内容。然而,所有上述引导以及有时其它引导,不仅是相对于在覆盖层显示上的对象来显示的,而且是相对于在底层显示上的所有对象来显示的。相对于底层和覆盖层两者上的对象实现引导生成,由图7中的框404表示。

因此,在一个实施例中,取代于看到正常幻灯片画布(slide canvas),用户106看到幻灯片的基本透明底层,其将过渡到当前幻灯片。该显示还可以包括用于被选择的当前幻灯片的缩略图,其不会改变。底层看起来恰似先前幻灯片(包括:在幻灯片上的对象,以及幻灯片背景和设计),但是可以以85%透明度显示。底层出现在当前幻灯片上的对象之下,但是在当前幻灯片背景之上,从而可以通过透明底层查看幻灯片背景。当然,这只是显示底层和覆盖层的一个实施例。还可以使用对其进行显示的其它方式。

图7A示出了这种显示214的一个例子。可以看到,用户的当前幻灯片214具有标题406和图片408。用户的先前幻灯片(在底层上看到的)具有标题410和具有文本的占位符412。用户106因此能够将图片408的顶部和底部与先前幻灯片上的文本412对准,并使用对准引导将其在幻灯片上居中。也就是说,对准引导414允许用户106将图片408在当前幻灯片上居中,而引导416和引导418允许用户106将图片408的顶部和底部与在底层上的文本段412的顶部和底部对准。

图7B示出了用户界面显示420的另一实施例。显示420示例性地具有底层幻灯片422和覆盖层幻灯片424的缩略图。可以看到,在画布段426上,覆盖层具有标题428和文本430。底层也具有标题段432和图片434。因此,用户106可以将标题段彼此对准,并可以将文本段430的上边缘与底层上的图片434大致对准。

还应注意,可以将本文中的引导生成应用于许多不同类型的对象。例如,可以应用于表格、图表、艺术品、形状、文本框、分组形状、多个已选对象、占位符、图片、剪贴画等。

本讨论提及了处理器和服务器。在一个实施例中,处理器和服务器包括计算机处理器以及相关联的存储器和定时电路,没有单独示出。它们是它们所属的系统或设备的功能部件且被所述系统或设备激活,并促进那些系统中的其它部件或项目的功能。

另外,已经讨论了多个用户界面显示。它们可以采取多种不同形式,并可以在其上布置有多种不同用户可致动输入机构。例如,用户可致动输入机构可以是文本框、复选框、图标、连接、下拉菜单、搜索框等。还可以以多种方式致动它们。例如,可以使用点和点击设备(例如,轨迹球或鼠标)致动它们。可以使用硬件按钮、开关、操纵杆或键盘、拇指开关或指垫等致动它们。还可以使用虚拟键盘或其它虚拟驱动器致动它们。另外,当显示它们的屏幕是触敏屏时,可以使用触摸手势致动它们。另外,当显示它们的设备具有语音识别部件时,可以使用语音命令致动它们。

还讨论了多个数据存贮。应该注意,它们每个可以分成多个数据存贮。它们都可以是访问它们的系统本地的,也都可以是远程的,或者一些可以是本地而另一些是远程的。这些配置都在本文中预期到了。

另外,附图示出了具有归属于每个框的功能的多个框。应该注意,可以使用较少的框,从而功能可以由较少的部件执行。另外,可以通过分布在更多部件中的功能来使用更多框。

图8是图1所示的系统100的框图,除了其元件布置在云计算架构500中。云计算提供不要求终端用户知道输送服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算利用适当的协议通过广域网(例如,互联网)输送服务。例如,云计算供应商通过广域网输送应用,并且可以通过web浏览器或任意其它计算部件对其进行访问。系统100的软件或部件以及对应的数据可以存储在处于远程位置处的服务器上。在云计算环境中的计算资源可以固定在远程数据中心位置,或者它们可以是分散的。云计算基础设施可以通过共享数据中心输送服务,即使它们对于用户看起来是单个接入点。因此,本文描述的部件和功能可以利用云计算架构从在远程位置处的服务供应商提供。替代地,它们可以从传统服务器提供,或者它们可以直接地或以其它方式安装在客户端设备上。

本说明书意图包括公共的云计算和私有的云计算。云计算(公共的和私有的)提供本质上无缝的资源池,以及减少管理和配置基础硬件基础设施的要求。

公共云由供应商管理并一般支持使用相同基础设备的多个消费者。另外,公共云与私有云相反,可以使终端用户从管理硬件方面解放出来。私有云可以由组织自身管理,并且基础设施一般不与其它组织共享。组织仍在一定程度上维护硬件,例如安装和维修等。

在图8所示的实施例中,一些项目类似于图1所示并被类似地编号。图8具体示出了位于云502中(其可以是公共的、私有的或者是组合的(部分是公共的而其它是私有的))。因此,用户106使用用户设备504通过云502访问这些系统。

图8还描绘了云架构的另一实施例。图8示出了还构思了系统100的一些元件可以布置在云502中而其它的不布置在云502中。通过例子,数据存贮505可以布置在云502的外部,并且通过云502进行访问。在另一实施例中,引导生成系统也在云502的外部。不管它们位于何处,它们都可以直接由设备504通过网络(广域网或局域网)进行访问,它们可以通过服务托管在远程站点,或者它们可以通过云提供作为服务提供或由驻留在云中的连接服务访问。所有这些架构都在本文中预期到了。

还应注意,系统100或其部分可以布置在多种不同设备上。这些设备中的一些包括服务器、台式计算机、膝上型计算机、平板计算机或其它移动设备,例如掌上计算机、蜂窝电话、智能手机、多媒体播放器、个人数字助理等。

图9是手持或移动计算设备的一个图示实施例的简化框图,所述手持或移动计算设备可以用作用户或客户端的手持设备16,在其中部署本系统(或其一部分)。图10-13是手持或移动设备的例子。

图9提供了可以允许系统100的部件或与系统100交互或两者的客户端设备16的部件的总体框图。在设备16中,设置有通信链接13,其允许手持设备与其它计算设备通信并在一些环节下提供用于自动接收(例如,通过扫描)信息的信道。通信链接13的例子包括红外端口、串行/USB端口、有线网络端口(例如,以太网端口)、以及允许通过一个或多个通信协议进行通信的无线网络端口,所述协议包括通用无线分组业务(GPRS)、LTE、HSPA、HSPA+和其它3G和4G无线电协议、1Xrtt和短消息服务(其是用于提供对网络的蜂窝访问的无线服务)、以及802.11和802.11b(Wi-Fi)协议、以及蓝牙协议(其提供对网络的局部无线连接)。

在其它实施例中,在连接到安全数字(SD)卡接口15的可移除安全数字(SD)卡上接收应用或系统。SD卡接口15和通信链接13沿着总线19与处理器17(其也可以根据图1实现处理器108)通信,总线19还连接存储器21和输入/输出(I/O)部件23以及时钟25和定位系统27。

在一个实施例中,设置I/O部件23以便于输入和输出操作。用于设备16的各种实施例的I/O部件23可以包括输入部件,例如,按钮、触摸传感器、多点触摸传感器、光或视频传感器、语音传感器、触摸屏、接近度传感器、麦克风、倾斜传感器以及重力开关;以及输出部件,例如,显示设备、扬声器和/或打印机端口。还可以使用其它I/O部件23。

时钟25图示包括实时时钟部件,其输出时间和日期。示例性地,还可以提供用于处理器17的定时功能。

定位系统27示例性地包括输出设备16的当前地理位置的部件。例如,这可以包括全球定位系统(GPS)接收器、LORAN系统、航位推算系统、蜂窝三角测量系统或其它定位系统。例如,还可以包括映射软件或导航软件,其生成期望的地图、导航路线和其它地理功能。

存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存贮37、通信驱动器39以及通信配置设置41。存储器21可以包括所有类型的有形的易失性和非易失性计算机可读存储设备。还可以包括计算机存储介质(下文所述)。存储器21存储计算机可读指令,所述指令当被处理器17执行时使得处理器根据指令执行计算机实现步骤或功能。例如,应用或项目可以驻留在存储器21中。类似地,设备16可以具有内容生成系统24,其可以运行各种应用或实现部分或所有系统100。处理器17可以由其它部件激活以也促进其功能。

网络设置31的例子包括如代理信息、因特网连接信息和映射之类。应用配置设置35包括针对具体企业或用户定制应用的设置。通信配置设置41提供了用于与其它计算机通信的参数,包括例如GPRS参数、SMS参数、连接用户名称和密码的项目。

应用33可以是先前存储于设备16上的应用或者是在使用期间安装的应用,但是这些还可以是操作系统29的一部分或托管在设备16外部。

图10示出了设备16是平板计算机600的一个实施例。在图10中,计算机600示出有用户界面显示屏602。屏幕602可以是触摸屏(因此来自用户手指的触摸手势可以用于与应用交互)或接收来自笔或触笔的输入的支持笔的界面。还可以使用屏幕上的虚拟键盘。当然,还可以通过适当的附接机构(例如,无线链接或USB端口)附接到键盘或其它用户输入设备。计算机600还可以示例性地接收语音输入。

图11和图12提供了可以使用的设备16的额外例子,但是还可以使用其它的。在图11中,将功能电话、智能手机或移动电话45提供为设备16。电话45包括用于拨打电话号码的一组小键盘47、能够显示图像(包括应用图像、图标、网页、照片和视频)的显示49、以及用于选择在显示上示出的项目的控制按钮51。电话包括天线53,其用于接收蜂窝电话信号(例如,通用无线分组业务(GPRS)和1Xrtt)以及短消息业务(SMS)信号。在一些实施例中,电话45还包括安全数字(SD)卡槽55,其容纳SD卡57。

图12的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设备等(后文称作PDA 59)。PDA 59包括感应屏幕61,当触笔位于平面上时感应屏幕61感知触笔63的位置(或其它指示器,例如用户的手指)。这允许用户选择、强调和移动屏幕上的项目,以及绘制和书写。PDA 59还包括多个用户输入键或按钮(例如按钮65),其允许用户滚动通过菜单选项或显示在显示61上的其它显示选项,并允许用户在不接触显示61的情况下改变应用或选择用户输入功能。虽然未示出,但是PDA 59可以包括内部天线和红外发送器/接收器,其允许与其它计算机进行无线通信;以及连接端口,其允许硬件连接到其它计算机设备上。这种硬件连接通常在支架上,所述支架通过串行端口或USB端口连接到其它计算机上。这样,这种连接是非网络连接。在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。

图13类似于图11,除了电话是智能手机71。智能手机71具有触敏显示器73,其显示图标或拼贴或其它用户输入机构75。机构75可以由用户用于运行应用、打电话、执行数据转移操作等。通常,智能手机71建立在移动操作系统上,并提供比功能电话更先进的计算能力和连接性。

注意,其它形式的设备16也是可以的。

图14是(例如)可以部署系统100或其一部分的计算环境的一个实施例。参考图14,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的部件可以包括但不限于:处理单元820(其可以包括处理器108)、系统存储器830、以及耦合各种系统部件(包括系统存储器到处理单元820)的系统总线821。系统总线821可以是若干类型的总线结构中的任意一种,包括存储器总线或存储器控制器、外围总线、以及利用多种总线架构中任一种的局部总线。通过例子而非限制,这种架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外围部件互连(PCI)总线(也被称作夹层总线)。结合图1描述的存储器和程序可以对应于图14的部分部署。

计算机810通常包括多种计算机可读介质。计算机可读介质可以是任意可用介质,其可以由计算机810访问,并包括易失性和非易失性介质、可移除和不可移除介质。通过例子而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质不用于且不包括调制数据信号或载波。其包括硬件存储介质,包括易失性和非易失性、可移除和不可移除介质,其以存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任意方法或技术实现。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可以用于存储期望信息并由计算机810访问的任意其它介质。通信介质一般实现计算机可读指令、数据结构、程序模块或在传输机构中的其它数据,并包括任意信息输送介质。术语“调制数据信号”表示具有一个或多个特征集或以编码信号中信息的方式变化的信号。通过例子而非限制,通信介质包括有线介质,例如有线网络或直连线连接;以及无线介质,例如声学、RF、红外和其它无线介质。任意上述的组合也应该包含于计算机可读介质的范围内。

系统存储器830包括计算机存储介质,其形式为易失性和/或非易失性存储器,例如,只读存储器(ROM)831和随机存取存储器(RAM)832。基本输入/输出系统833(BIOS)包含通常存储于ROM 831内的基本例程,其有助于例如在启动期间在计算机810内的元件之间转移信息。RAM 832通常包含数据和/或程序模块,其可以由处理单元820立即访问和/或当前被处理单元820操作。通过例子而非限制,图14示出了操作系统834、应用程序835、其它程序模块836和程序数据837。

计算机810还可以包括其它可移除/不可移除的易失性/非易失性计算机存储介质。仅通过例子,图14示出了硬盘驱动841,其从不可移除的、非易失性磁介质中进行读取或写入;磁盘驱动851,其从可移除的、非易失性磁驱动852中进行读取或写入;以及光盘驱动855,其从可移除的、非易失性光盘856(例如,CD ROM或其它光介质)中进行读取或写入。可以用于示例性操作环境中的其它可移除/不可移除的、易失性/非易失性计算机存储介质包括但不限于:磁带盒、闪存卡、数字多功能盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动841通常通过不可移除的存储器接口(例如,接口840)连接到系统总线821上,并且磁盘驱动851和光盘驱动855通常通过可移除存储器接口(例如,接口850)连接到系统总线821上。

替代地或另外,本文描述的功能可以至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可以使用的图示类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。

以上讨论且在图14中示出的驱动及其相关联的计算机存储介质为计算机810提供对计算机可读指令、数据结构、程序模块和其它数据的存储。在图14中,例如,硬盘驱动841示出为存储操作系统844、应用程序845、其它程序模块846和程序数据847。注意,这些部件可以与操作系统834、应用程序835、其它程序模块836和程序数据837相同或不同。操作系统844、应用程序845、其它程序模块846和程序数据847在这里给出不同标号以至少示出它们是不同副本。

用户可以通过输入设备(例如,键盘862、麦克风863)和定点设备861(例如,鼠标、轨迹球或触摸垫)将命令和信息输入到计算机810中。其它输入设备(未示出)可以包括控制杆、游戏平板、卫星天线、扫描仪等。这些和其它输入设备通常通过耦合到系统总线上的用户输入接口860连接到处理单元820,但是可以通过其它接口和总线结构连接,例如并行端口、游戏端口或通用串行总线(USB)。视觉显示器891或其它类型的显示设备还经由接口(例如,视频接口890)连接到系统总线821。除了监视器外,计算机还可以包括其它外围输出设备,例如扬声器897和打印机896,其可以通过输出外围接口895连接。

计算机810在联网环境中使用到一个或多个远程计算机(例如,远程计算机880)的逻辑连接而进行操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括以上相对计算机810描述的多个或所有元件。在图10中描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但是还可以包括其它网络。这种联网环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。

当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN 871。当在WAN联网环境中使用时,计算机810一般包括调制解调器872或用于建立通过WAN 873(例如互联网)的通信的其它部件。调制解调器872可以是内部的或外部的,其可以经由用户输入接口860或其它适当的机构连接到系统总线821上。在联网环境中,相对于计算机810或其部分描述的程序模块可以存储于远程存储器存储设备中。作为例子而非限制,图14示出了驻留在远程计算机880上的远程应用程序885。可以理解的是,所示的网络连接是示例性的,并且可以使用建立在计算机之间的通信链接的其它部件。

还应该理解的是,本文描述的不同实施例可以以不同方式组合。也就是说,一个或多个实施例的部分可以与一个或多个其它实施例的部分组合。所有这些都在本文中预期到了。

虽然以专用于结构特征和/或方法动作的语言描述了主题,但是可以理解的是,在随附权利要求中定义的主题不必限于上述特定特征或动作。而是,上述特定特征和动作被公开为实现权利要求的示例形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1