使用预定义布局来对图像和相关联的文本进行动态布局的制作方法

文档序号:6477535阅读:146来源:国知局
专利名称:使用预定义布局来对图像和相关联的文本进行动态布局的制作方法
使用预定义布周来对图像和相关联的文本进行动态布局
扭旦 冃尔
许多类型的桌面应用程序允许用户向他们的文档添加图像和相关联的文 本注释。例如,许多文字处理应用程序、电子表格应用程序和演示应用程序允 许用户将一个或多个图像插入到文档中并且与这些图像相关地放置文本注释。 然而,这些应用程序通常提供极少或者不提供关于应当如何彼此相关地对这些 图像和相关联的文本注释进行布局的设计指导。相反,大多数应用程序需要用 户手动地对图像和相关联的文本注释进行布局。
尽管对图像和相关联的文本注释进行布局的手动方法确实为技术水平高 的设计者提供了极大的灵活性,但大多数用户并不拥有创建看上去专业的图像 和相关联的文本的布局所需的创造性设计技能。结果,许多用户最终创建出看 上去很业余的图像和相关联的文本的布局,该布局包括未对齐或大小不适当的 图像,并且可能包括对于相关图像布局不适当地定位或者设定大小的文本注 释。在许多情况下,手动生成的布局完全没有传达用户所期望的信息。
某些桌面应用程序确实提供了有限的用于使用静态模板来协助用户在页 面上自动对多个图像进行布局的功能。然而,这些类型的应用程序并非对图像 进行动态布局并且不提供用于对与这些图像相关联的文本注释进行布局的任 何指导。此外,这些类型的应用程序通常迫使用户利用所提供的模板的确切结 构和设计。用户不被准许通过重新排列或添加图像或相关文本来修改由这些模 板提供的布局。这令试图创建包含文本注释或者比模板所准许的更多或更少的 图像的布局的用户感到挫败。
此处所做出的本发明正是针对这些和其它考虑事项而给出的。
概述
此处描述了用于动态地排列图像和相关文本注释的技术。通过利用此处所 给出的技术与概念,应用程序可以使用预定义布局来对图像和相关联的文本注 释进行动态布局。可将不同的布局应用于图像及其相关联的文本注释并且可以改变预定义布局直至标识最佳可能布局为止。而且,预定义布局准许添加其它 图像或者注释同时仍保留该布局的设计元素。通过使用这些技术,实际上没有 创造性设计技能的用户可创建看上去专业的图像和相关联的文本注释的布局。
根据此处所呈现的一方面,创建一个或多个预定义布局并将定义这些布局 的数据存储在布局定义文件中。每一个预定义布局都指定一个或多个图像和相 关联的文本注释的布局。具体地,每一个预定义布局都指定应如何縮放和彼此 相关地定位图像和任何相关联的文本注释。例如, 一布局可指定该布局中的图 像的位置和大小以及与图像相关联的文本的位置、大小和样式。该布局还可指 定在向该布局添加其它图像或文本的情况下应当如何修改该布局。如将在下面 详细描述的,布局定义文件的内容用于对图像和相关联的文本进行动态布局并 且在添加新内容或者修改布局后重新生成该布局。
根据另一方面,此处描述了一种用于利用布局定义文件的内容来对图像和 相关联的文本进行动态布局的应用程序。在一个实现中,该应用程序提供用于 对图像和相关联的文本进行动态布局的用户界面。该用户界面包括用户可在其 上放置一个或多个图像的画布。该用户界面还包括用户可用于选择要应用于放 置在画布上的图像的预定义布局的控件。在一个实现中,该控件是被显示为与 画布相邻的布局长廊。该布局长廊包括对应于每一个可用预定义布局的可选视 觉表示。当选择这些视觉表示中的一个时,对应的预定义布局就被动态地应用 于画布上的图像。
一旦动态地生成和显示了布局,用户就可通过在该布局中添加其它图像或 者完成文本注释来修改该布局。用户还可修改布局中的元素的大小和位置。响 应于对布局的修改,可利用布局定义文件的内容来重新生成鉴于该修改的布 局。例如,如果添加了新图像,则可重新生成布局以适当地将该新图像合并到 该布局中。其它预定义布局也可通过选择布局长廊中的视觉表示来应用于图像 和文本。
根据另一方面,布局长廊中所显示的视觉表示可用于生成布局预览。例如, 在一个实现中,当用户界面鼠标光标悬停在布局长廊中的一个视觉表示的上方 时,生成对应的预定义布局的实况预览。悬停指将用户输入鼠标光标放在一对 象的上方但没有使用鼠标按钮来选择该对象的过程。应当理解,可使用利用除了鼠标之外的其它类型的用户输入设备的其它用户输入机制来生成布局预览。 通过以此方式生成预览,用户可在应用预定义布局之前查看将该预定义布局应 用于画布上的图像的结果。当已经标识合适的布局时,可通过选择适当的视觉 表示来应用预定义布局。
应当理解,此处所描述的各实现适用于对图像和相关联的文本进行布局的 任何类型的计算机程序。例如,此处所提出的概念可用于文字处理应用程序、 电子表格应用程序、演示应用程序、桌面发布应用程序和其它类型的应用程序。 上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或者诸如计 算机可读介质等制品。通过阅读以下详细描述和查阅相关联的附图,这些和各 个其它特征将是显而易见的。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的 一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征, 本概述也不旨在用于限定所要求保护的主题的范围。此外,所要求保护的主题 不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述


图1图形地示出在一个实现中呈现的布局定义文件的内容和其中定义的 若干预定义布局;
图2-5是示出在此处所呈现的一个实施例中的由能够使用预定义布局来对
图像和相关联的文本进行动态布局的应用程序提供的用户界面的各方面的屏
幕图6是示出此处所描述的一个实现中的使用预定义布局来对图像和相关 联的文本进行动态布局的说明性过程的流程图;以及
图7是示出能够实现此处所呈现的各实施例的计算系统的说明性计算机 硬件和软件体系结构的计算机体系结构图。
详细描述
下面的详细描述涉及用于使用预定义布局来动态地排列图像和相关联的 文本的技术。通过使用此处所呈现的各实施例,应用程序可提供使用预定义布
8局的对图像和相关联的文本的自动化的、动态排列。利用具体化此处所提出的 概念和技术的应用程序,用户可容易地生成看上去专业的图像和相关联的文本 注释的布局。
尽管此处所述的主题是在结合操作系统和应用程序在计算系统上的执行 而执行的程序模块的一般上下文中提供的,但本领域技术人员可以认识到,可 结合其它类型的程序模块来执行其它实现。 一般而言,程序模块包括执行特定 任务或实现特定的抽象数据类型的例程、程序、组件、数据结构和其它类型的 结构。此外,本领域的技术人员可以理解,此处所述的本主题可以使用其它计 算机系统配置来实践,这些其它计算机系统配置包括手持式设备、多处理器系 统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。
在以下详细描述中,参考了构成其一部分并作为说明示出了各具体实施例 或示例的附图。现在参考附图(全部若干附图中相同的标号表示相同的元素), 将描述用于对图像及相关联的文本进行布局的计算系统和方法的各方面。
现在转到图1,将提供关于此处所呈现的用于使用预定义布局来动态地排 列图像和与这些图像相关联的文本的一个实施例的细节。具体地,图l示出了
应用程序100和布局定义文件102的各方面。应用程序100在对图像和文本进 行动态布局时利用布局定义文件102的内容。应当理解,应用程序'100可以是 对图像和相关联的文本进行布局的任何类型的应用程序,包括但不限于,文字 处理应用程序、电子表格应用程序、演示创建应用程序、网页设计程序、或桌 面发布应用程序。此处所提出的概念不限于与用于执行任何特定功能的应用程 序一起使用。
根据一个实现,布局定义文件102存储定义一个或多个布局104A-104D 的数据。布局104A-104D各自定义一个或多个图像以及与这些图像相关联的文 本的方位、大小和其它特性。例如,布局104A包括六个图像106A-106D以及 与这些图像相关联的文本108A-108D。布局104B包括一个图像106G和在水 平方向上横跨该图像106G的文本108G。布局104C包括三个图像106H-106J 和放置在这些图像之间的文本108H。布局104D包括一个图像106K和文本 1081。应当理解,图l所示的布局104A-104D仅仅是说明性的,并且布局定义 文件102可定义具有图像和/或相关联文本的任何排列的任何数量的布局。根据此处所呈现的其它方面,布局定义文件102还将供应用程序100在对 图像和文本进行动态布局时使用的数据存储在每一个布局中。该数据还允许应 用程序100在诸如重新排列布局中的图像或文本或者向布局添加新图像或文本 等对布局的修改后重新生成布局。在一个实现中,该数据作为用于动态地生成 每一个布局的约束和规则来存储。应用程序100利用这些约束和规则来对布局 中的每一个图像和文本进行布局并且在修改后重新生成该布局。
约束定义应用程序应如何对内容对象进行布局。内容对象可以是图像、影 片、文本或其它类型的数字媒体。这些约束可包括定义每一个内容对象的位置 和大小的数据。每一个对象的大小和位置可与其它对象相关地或者独立于其它 对象来定义。这些约束还定义应当如何格式化每一个内容对象。例如,用于文 本对象的约束可定义字体、字体大小、对齐方式、版式以及文本的其它格式化 特性。约束可包括数值或布尔值。数字约束可指定特定数值(例如,宽度=1 英寸)。数字约束也可通过使用引用来参考其它约束来定义其值(例如,高度 二宽度X0.75)。
应用程序IOO利用布局定义文件102中所定义的规则来修改约束。具体地, 规则定义如何修改一个或多个约束以使得内容适合在布局中。例如,应用程序 100在对内容对象应用约束导致内—容溢出该内容对象的指定边界时利用规则来 修改约束。作为一示例,如果向一布局添加对于该布局太大的图像,则可动态 地縮放、裁剪、拉伸或以其它方式调整该图像的大小以适合该布局。这些操作 可以按非破坏性方式来执行以保持图像的内容。在各实施例中,某些操作可按
破坏性方式来执行。作为另一示例, 一个约束可指定文本对象的字体大小为14 号。进而,规则可指定可将字体大小减小至8号以使得该文本适合布局。应当 理解,规则和约束可在不同对象之间传播以确保在布局中的一致性。以此方式, 例如,可使布局中的所有文本或图像大小相同。应用程序100将取决于存在于 布局中的文本量或图像数量来动态地调整文本或图像的大小。
根据其它实现,布局定义文件102也可指定将由应用程序100用来对内容 进行布局的布局算法。例如,布局定义文件102可指定用于布局文本的算法, 应用程序IOO利用该算法来排列布局中的文本。也可在布局定义文件102内指 定用于其它类型的内容对象的其它类型的布局算法。还可准许用户向布局定义文件102添加新布局。
根据一个实现,布局定义文件102的内容使用可扩展标记语言("XML") 来指定。XML是用于传递数据的标准格式。在XML数据格式中,利用架构来 为XML数据提供管理可传递的数据的类型和结构的一组语法和数据类型规 则。XML数据格式是本领域技术人员所公知的,因此不在此处更详细地讨论。 关于布局定义文件102的内容以及由应用程序100用来对图像和文本进行动态 布局的过程的其它细节可在下列专利文献中找到2005年3月15日提交的题 为"Method and Computer-Readable Medium for Generating Graphics Having a Finite Number of Dynamically Sized and Positioned Shapes (用于生成具有有限数 量的动态调整大小和定位的形状的图形的方法和计算机可读介质)"的美国专 利公开No. US2006/0209093、 2006年3月15日提交的题为"Method and Computer-Readable Medium for Fitting Text to Shapes Within a Graphic (用于使 文本适合图形内的形状的方法和计算机可读介质)"的美国专利公开No. US006/0212801、以及2004年9月30日提交的题为"Method, System, and Computer-Readable Medium for Creating and Laying Out a Graphic Within an Application Program (用于在应用程序内创建图形并对其进行布局的方法、系 统和计算机可读介质)"的美国专利公开No.US2006/0066631,这些专利中的 每一个都通过整体引用明确地结合于此。
现在参考图2,将描述一个实施例中的、由应用程序100提供的、用于对 图像和相关联的文本进行动态布局的说明性用户界面202。如图2所示,用户 界面202包括画布206。画布206用于容纳布局的图像和文本。用户可通过诸 如插入操作或"剪切和粘贴"操作等适当的操作来将图像放在画布206上。例 如,在图2所示的示例中,用户已经在画布206上放置了图像106L。应当理 解,画布206可取决于应用程序100的特性而采用不同的形式。例如,如果应 用程序100是演示应用程序,则画布206可以是幻灯片演示中的单个幻灯片。 如果应用程序100是文字处理应用程序100,则画布206可包括文字处理文档 中的一页。如果应用程序100是电子表格应用程序,则画布206可包括电子表 格的一部分。画布206可在由其它类型的应用程序实现时采用其它形式。
图2所示的用户界面202还包括布局长廊204。布局长廊204包括可动态地应用于放置在画布206上的图像的预定义布局的可选视觉表示210A-210D。 视觉表示210A-210D中的每一个都对应于一布局。当诸如通过使用鼠标按钮或 者其它类型的用户输入设备来选择一视觉表示时,对应的布局将被应用于已经 放置在画布206上的图像和文本。例如,视觉表示210A对应于具有单个图像 但没有文本的布局。视觉表示210B对应于具有单个图像和水平横跨该图像放 置的文本的布局。视觉表示210C对应于具有三个图像且文本被放置在这三个 图像之间的布局。视觉表示210D对应于具有两个图像且文本横跨这两个图像 垂直放置的布局。
根据各实现,用户界面202还可包括图像调整选项板208。图像调整选项 板208提供用于调整放置在画布206上的图像的用户界面控件212A-212C。例 如,用户界面控件212A在被选择时提供用于调整图像亮度的功能,用户界面 控件212B提供用于调整图像对比度的功能,而用户界面控件212C提供用于 调整图像颜色的功能。可以按相似的方式提供用于调整图像内容的其它工具。
根据其它实现,用户界面202还包括内容窗格214。内容窗格214提供画 布206上所阐述的数据模型的视觉表示。具体地,在一个实施例中,内容窗格 214包括画布206上每一个图像的縮略图。例如,在图2所示的示例中,内容 窗格214包括对应于图像106L的縮略图216A。縮略像可反映对相应图像 所作的修改,诸如对图像应用样式。内容窗格214还包括与画布上的每一个图 像相关联的文本。
根据各实现,内容窗格214可用于选择和编辑存在于画布206上的图像和 文本。例如,在一个实现中,选择内容窗格中的一个縮略像将导致也选择 画布上的对应图像。也可选择和编辑内容窗格214中所示出的文本。这些编辑 被反映在画布206上所示的文本中。内容窗格214还可用于向数据模型添加附 加节点、从数据模型中移除节点、改变节点次序、以及执行其它编辑功能。
现在转到图3,将提供关于此处所呈现的一个实施例中的用户界面202的 各方面的其它细节。在该实施例中,用户界面202用于响应于用户命令来提供 所选布局的实况预览。具体地,在该实施例中,用户可利用鼠标输入设备来将 鼠标光标302悬停在视觉表示210A-210D中的一个的上方。响应于检测到这一 输入,应用程序100可用于根据对应的预定义布局来对存在于画布206上的图像进行动态布局。所生成的布局作为预览来显示。g卩,所生成的布局实际上没 有应用于画布206上的图像。相反,只是临时向用户显示该布局。以此方式,
用户可将鼠标光标302悬停在视觉表示210A-210D中的每一个的上方以获得对 应的布局在应用于画布206的内容时将如何出现的预览。应当理解,可利用使 用其它用户输入设备的其它类型的用户输入来使得生成预览。
在图3所示的示例中,鼠标光标302正悬停在视觉表示210B的上方。结 果,应用程序100已经使用存在于画布上的单个图像106L来生成并显示布局 304A的预览。布局304A包括已经被反映在画布206上和内容窗格214中的文 本108J。应当理解,布局304A实际上尚未应用于画布206的内容。结果,当 鼠标光标302从视觉表示210B移开时,画布206将再次如图1所示地那样出 现。还应当理解,鼠标悬停事件只是用于向应用程序IOO指示应当生成和显示 布局的实况预览的一种机制。也可以按相似的方式利用其它类型的用户输入机 制。如在下面将参考图5更详细地描述的,诸如通过使用鼠标按钮来选择视觉 表示210A-210D中的一个将使对应于所选视觉表示的布局被动态地应用于画 布206的内容。
现在参考图4,将描述关于一个实施例中所提供的用户界面202的操作的 其它细节。在图4所示的示例中,用户己经利用鼠标光标302和鼠标按钮来选 择视觉表示210D。结果,对应于视觉表示210D的布局已经被动态地应用于图 l所示的画布206的内容。这产生了图3中的画布206上所示的布局304B。
如图3所示,布局304B包括图像106L和文本108J。在该例中,用户用 短语"我们的湖边小屋"替换了占位符文本。因为在选择视觉表示210D时画 布206上只存在一个图像,所以已经在画布上为图像106M放置占位符。用户 可在画布206上的适当位置插入一图像以替换该占位符。用户还可通过选择文 本108K并键入新文本来修改文本108K。所键入的文本将替换文本108K。应 当理解,根据各实施例,文本注释可包括标题或者可以被动态地绑定到引用。
如将在下面更详细地描述的,用户还可在任何时刻选择视觉表示 210A-210D中的任一个以使对应的布局应用于画布的内容。当用户选择一新视 觉表示时,当前布局中的图像被带到对应于所选视觉表示的新布局。以此方式, 用户可在布局之间快速移动而不必重新选择将在布局中利用的图像。
13响应于将布局应用于画布的内容,用户界面202还呈现了样式选项板404 和布局修改选项板402。样式选项板404包括用于调整应用于布局304B上的 图像和文本的样式的用户界面对象212G-212J。例如,可选择用户界面对象 212G来修改布局304B中的颜色,诸如文本或图像背景的颜色。可选择用户界 面对象212H-212I以将不同的样式应用于布局304B。可选择用户界面对象212J 以获得对样式选项板404中未示出的其它样式的访问。应当理解,还可提供此 处未描述的用于修改图像的功能。
布局修改选项板402提供用于修改布局的功能。例如,用户界面对象212D 在被选择时提供允许用户向布局添加另一个图像的功能。用户界面对象202E 在被选择时提供允许用户向布局添加附加文本的功能。用户界面对象212F在 被选择时提供通过移除用户对布局所作的的任何修改来重置布局的功能。当已 经对布局作出诸如添加新的图像或文本等修改时,应用程序100以上面参考图 1所述的方式使用布局定义文件102的内容来动态地重新生成该布局。还可提 供用于修改图像在布局中的显示顺序的功能。例如,在一个实现中,用户能够 选择并拖拽图像以改变图像在布局中相对于彼此的顺序。
在还在图4中示出的,已更新内容窗格214以反映所选布局对画布的应用。 具体地,文本108J已被显示为与縮略图216A相邻。对应于图像106M的縮略 图216B也已经连同对应的文本108K —起显示。如上所述,图像縮略图 216A-216B可分别用于选择对应的图像106L-106M。内容窗格214还可用于执 行上述其它文本编辑操作。
现在转到图5,将提供关于用户界面202的操作的其它细节。具体地,图 5示出了改变布局的过程。如上所述,在任何时刻选择视觉表示210A-210D中 的一个将导致对应的布局被应用于画布206的内容。在图5所示的示例中,用 户已经通过使用鼠标光标302并按下鼠标按钮来选择视觉表示210B。结果, 对应的布局被应用于画布206的内容并且图4所示的布局304B已经由图5所 示的布局304A来替换。布局304A包括图像106L和文本108J。应当理解,布 局对画布206的内容的应用不是破坏性的,并且在任何时刻都可动态地将一新 布局应用于画布206上的图像和文本。
现在转到图6,将提供关于此处所呈现的用于对图像和相关联的文本进行动态布局的各实施例的其它细节。具体地,图6是示出例程600的流程图,例程600示出由应用程序100执行的、用于使用预定义布局来对图像和相关联的文本进行动态布局的说明性过程的各方面。应当理解,此处所述的逻辑操作被实现为(l)一系列计算机实现动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连机器逻辑电路或电路模块。该实现是取决于计算机系统的性能和其他要求的选择的问题。因此,此处所描述的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑以及它们的任何组合来实现。还应当理解,可以实现比各附图所示的并在此处描述的更多或更少操作。这些操作也可按与本文所描述的不同的次序来执行。
例程600开始于操作602,在那里用户将一个或多个图像放置在画布206上。例程600随后继续到操作604,在那里应用程序100显示布局长廊204。从操作604,例程600继续到操作606,在那里应用程序100确定鼠标光标302是否正悬停在布局长廊204中所示出的视觉表示210A-210D中的一个的上方。如果是,则例程600从操作606分叉到操作608,在那里以上面参考图3描述的方式显示对应于该视觉表示的布局的实况预览。从操作608,例程600继续到下面描述的操作610。
如果在操作606处应用程序100确定鼠标光标302未悬停在视觉表示210A-210D中的一个的上方,则例程600继续到操作610。在操作610,应用程序100确定是否已经诸如通过使用鼠标光标302并点击相应的鼠标按钮来选择视觉表示210A-210D中的一个。如果否,例程600返回到上述操作606。如果已经选择了视觉表示210A-210D中的一个,从而指示应当将对应的布局应用于画布206的内容,则例程600从操作610继续至操作612。
在操作612,应用程序100以上面参考图1所述的方式动态地将适当的布局应用于画布206上的图像和文本。例程600随后继续至操作614,在那里应用程序100确定是否已经通过选择视觉表示210A-210D中的一个来请求新布局。如果是,则例程600返回到上述操作612,在那里应用程序100以上面参考图1所述的方式动态地将适当的布局应用于画布206的内容。如果没有请求新布局,则例程600从操作614继续到操作616。
15在操作616,应用程序100确定是否已经修改了当前布局或者已经向当前布局添加了附加内容。如果否,则例程600返回到上述操作614。如果是,则例程600继续至操作618。在操作618,应用程序100使用布局定义文件102来动态地重新生成当前布局以适当地将修改合并到该布局。例程600随后从操作618继续到上述操作614。
图7示出了能够执行此处所描述的用于对图像及相关联的文本注释进行布局的软件组件的计算机700的说明性计算机体系结构。图7所示的计算机体系结构示出了常规台式计算机、膝上型计算机或服务器计算机并且可用于执行此处所描述的应用程序100的任何方面。
图7所示的计算机体系结构包括中央处理单元702 ("CPU")、包括随机存取存储器714 ("RAM")和只读存储器("ROM") 716的系统存储器708、以及将存储器耦合至CPU 702的系统总线704。基本输入/输出系统被存储在ROM716中,该系统包含帮助诸如在启动期间在计算机700中的元件之间传递信息的基本例程。计算机700还包括用于存储操作系统718、应用程序和其它程序模块等的大容量存储设备710,这将在以下更为详尽地描述。
大容量存储设备710通过连接至总线704的大容量存储控制器(未示出)连接到CPU 702。大容量存储设备710及其相关联的计算机可读介质为计算机700提供非易失性存储。尽管本文所包含的计算机可读介质的描述指的是大容量存储设备,如硬盘或CD-ROM驱动器,但本领域的技术人员应理解,计算机可读介质可以是可由计算机700访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读介质包括但不限于,RAM、ROM、 EPROM、 EEPROM、闪存或其它固态存储器技术、CD-ROM、数字多功能盘("DVD") 、 HD-DVD、蓝光(BLU-RAY)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机700访问的任何其它介质。
根据各实施例,计算机700可以使用通过诸如网络720等网络与远程计算机的逻辑连接在联网环境中操作。计算机700可以通过连接至总线704的网络接口单元706来连接到网络720。应当理解,网络接口单元706也可用于连接至其它类型的网络和远程计算机系统。计算机700还可以包括用于接收和处理来自多个其它设备的输入的输入/输出控制器712,这些设备包括键盘、鼠标或者电子指示笔(未在图7中示出)。类似地,输入/输出控制器可以提供至显示屏、打印机或其它类型的输出设备(也未在图7中示出)的输出。
如前简述的那样,多个程序模块和数据文件可以存储在计算机700的大容量存储设备710和RAM 714内,包括适于控制联网的台式计算机、膝上型计算机或服务器计算机的操作的操作系统718。大容量存储设备710和RAM 714还可以存储一个或多个程序模块。具体而言,大容量存储设备710和RAM714可存储提供此处所描述的用于使用预定义布局来对图像及相关联的文本进行动态布局的功能的应用程序100。大容量存储设备710和RAM 714还可存储由应用程序100利用的布局定义文件102和图像106。
基于上述内容,应当理解,此处呈现了用于对图像及相关联的文本进行动态布局的技术。尽管用对计算机结构特征、方法动作和计算机可读介质专用的语言描述了此处呈现的本主题,但可以理解,所附权利要求书中定义的本发明不必限于此处所述的具体特征、动作或介质。相反,具体特征、动作和介质是作为实现权利要求的示例形式公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。
1权利要求
1.一种用于对一个或多个图像(106)以及与所述图像(106)中的一个或多个相关联的文本(108)进行布局的方法,所述方法包括接收所述一个或多个图像(106)和所述文本(108);接收根据预定义布局(104)来对所述一个或多个图像(106)和所述文本(108)进行布局的请求;响应于所述请求,根据所述预定义布局(104)来动态地生成所述图像(106)和所述文本(108)的布局(304);以及显示所述布局(304)。
2. 如权利要求1所述的方法,其特征在于,还包括接收所述布局的附加内容;响应于接收到所述布局的附加内容,动态地重新生成所述布局;以及显示所述布局。
3. 如权利要求1所述的方法,其特征在于,还包括接收对所述布局的修改;响应于接收到对所述布局的修改,动态地重新生成所述布局;以及显示所述布局。
4. 如权利要求1所述的方法,其特征在于,还包括接收根据第二预定义布局来对所述一个或多个图像和所述文本进行布局的请求;以及响应于所述根据第二预定义布局来对所述图像和文本进行布局的请求,根据所述第二预定义布局来动态地生成所述图像和所述文本的第二布局;以及显示所述第二布局。
5. 如权利要求4所述的方法,其特征在于,还包括显示包括一个或多个预定义布局的表示的布局长廊。
6. 如权利要求5所述的方法,其特征在于,接收根据预定义布局来对所述 一个或多个图像和文本进行布局的请求包括接收对所述布局长廊中所显示的 表示中的一个表示的选择。
7. 如权利要求6所述的方法,其特征在于,接收根据所述第二预定义布局 来对所述一个或多个图像和文本进行布局的请求包括接收对所述布局长廊中 所显示的表示中的第二表示的选择。
8. 如权利要求4所述的方法,其特征在于,还包括显示包括所述一个或多 个图像的表示的内容窗格。
9. 一种其上存储有计算机可执行指令的计算机存储介质,所述指令在被计 算机执行时将使所述计算机执行如权利要求1所述的方法。
10. —种用于根据预定义布局(104)来动态地对一个或多个图像(106) 以及与所述图像(106)中的一个或多个相关联的文本(108)进行布局的方法, 所述方法包括显示一个布局长廊(204),所述布局长廊(204)包括一个或多个预定义 布局(104)的一个或多个可选表示(210);接收对所述布局长廊(204)中所显示的表示中的一个表示的选择;以及响应于接收到所述选择,根据与所选表示(210)相关联的预定义布局(104) 来动态地生成一个或多个图像(106)以及与所述图像(106)相关联的文本(108) 的布局(304);以及显示所述布局(304)。
11. 如权利要求10所述的方法,其特征在于,还包括 接收对所述布局长廊中所显示的表示中的第二表示的选择;以及 响应于接收到对第二视觉表示的选择,根据与所述第二视觉表示相关联的预定义布局来动态地生成所述一个或多个图像以及与所述图像相关联的文本的第二布局;以及显示所述第二布局。
12. 如权利要求11所述的方法,其特征在于,所述布局在画布上被显 示为与所述布局长廊相邻。
13. 如权利要求12所述的方法,其特征在于,还包括检测对所述布局 的修改或者对所述布局的新内容添加并且响应于此动态地重新生成所述布局。
14. 如权利要求13所述的方法,其特征在于,还包括与所述画布相邻 地显示内容窗格,所述内容窗格包括所述一个或多个图像的表示。
15. —种其上存储有计算机可执行指令的计算机存储介质,所述指令在 被计算机执行时将使所述计算机执行如权利要求10所述的方法。
16. —种用于根据一个或多个预定义布局(104)来动态地对一个或多 个图像(106)以及与所述图像(106)中的一个或多个相关联的文本(108) 进行布局的方法,所述方法包括显示用于呈现所述布局(304)的画布(202);接收所述一个或多个图像(106)和所述文本(108)在所述画布上的放置; 与所述画布(202)相邻地显示布局长廊(204),所述布局长廊(204)包括所述一个或多个预定义布局(104)的可选表示(210),所述可选表示在被选择时使得所述画布(202)上的图像(106)和文本(108)根据对应的预定义布局(104)来动态地布局;接收对所述布局长廊(204)中的表示(210)中的一个表示的选择; 响应于接收到对所述表示(210)中的一个表示的选择,基于对应于所选表示(210)的预定义布局(104)来动态地生成所述一个或多个图像(106)和所述文本(108)的布局(304);以及在所述画布(202)上显示所述布局(304)。
17. 如权利要求16所述的方法,其特征在于,还包括 接收对所述布局长廊中所显示的第二表示的选择;响应于接收到对第二表示的选择,基于对应于所选第二表示的预定义布局 来动态地重新生成所述一个或多个图像和所述文本的布局;以及 在所述画布上显示重新生成的布局。
18. 如权利要求17所述的方法,其特征在于,还包括与所述画布相邻 地显示内容窗格,所述内容窗格包括所述一个或多个图像的表示。
19. 如权利要求18所述的方法,其特征在于,对在所述内容窗格中所 显示的表示的选择将导致在所述画布上选择对应的图像。
20. —种其上存储有计算机可执行指令的计算机存储介质,所述指令在 被计算机执行时将使所述计算机执行如权利要求16所述的方法。
全文摘要
此处描述了用于使用预定义布局来对图像和相关联的文本进行动态布局的技术。创建预定义布局并且将定义布局的数据存储在布局定义文件中。一种应用程序提供用于使用布局定义文件的内容来对图像和相关联的文本进行动态布局的用户界面。该用户界面包括用户可在其上放置将一个或多个图像的画布以及用户可用于选择要应用于放置在该画布上的图像的预定义布局的布局长廊。该布局长廊包括对应于每一个可用预定义布局的可选视觉表示。当选择这些视觉表示中的一个时,对应的预定义布局就被动态地应用于画布上的图像。布局长廊中所显示的视觉表示还可用于生成布局预览。
文档编号G06F17/00GK101689177SQ200880020169
公开日2010年3月31日 申请日期2008年6月1日 优先权日2007年6月15日
发明者C·L·霍耶, C·M·贝克尔, J·S·施内克洛特, L·沃尔德曼, T·C·昂德希尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1