当前位置: 首页 > 专利查询>微软公司专利>正文

在应用程序内创建和布局图形的方法和系统技术方案

技术编号:2920720 阅读:184 留言:0更新日期:2012-04-11 18:40
提供了一种用于在绘图应用程序内创建和布局图形的方法、装置和计算机可读介质。该方法包括接收定义要在图形中表示的一组数据和数据关系的模型;接收描述来自数据模型的数据到一组算法、算法参数、约束、约束规则和形状属性的映射的图形定义;使用来自图形定义的该组算法、约束和约束规则对布局节点确定形状大小和位置;以及对该图形创建形状和形状属性列表,包括大小和位置。该方法还包括基于该组约束值确定图形是否将给定布局拟合到特定区域中,并且如果图形不拟合特定区域,则使用约束规则来修改该组约束值。

【技术实现步骤摘要】
相关申请的参照本申请涉及2004年9月30日提交的名为“Editing The Text Of An ArbitraryGraphic Via A Hierachical List(通过分层列表编辑任意图形的文本)”的美国专利申请第______号,且与其同时提交,该申请转让给与本专利技术相同的受让人。以上专利申请通过引用明确地整体结合于此。
技术介绍
现代软件应用程序,包括文字处理程序和专用绘图应用程序,使用户能够创建简单和复杂的图形。这些绘图程序允许用户使用可用文本注释的各种形状来创建图形。由这些应用程序创建的图形可以是独立的文档或结合到文本文档中。尽管存在现代绘图程序提供的优点,然而这些程序仍遭受妨碍典型用户对图形的创建和布局的若干缺点。现代绘图程序的一个缺点是尽管它们可提供用于创建图形的工具,然而许多用户不知道这些现有工具,或者不知道如何有效地使用它们。结果,用户或者创建其自己的图形,或者不正确地使用图形工具,导致具有不对齐的形状以及应当具有相同字体大小而实际却没有的文本的图形。现代绘图程序的另一缺点是包含文本的形状不对添加的或增大的文本自动重新调整字体或扩展其尺寸,使得文本保持完全被封闭在形状中。现代绘图程序的又一缺点是它们提供严格的布局或完全不提供布局。没有布局的程序要求用户对每一形状手动定大小和定位,具有严格布局的程序不允许用户对形状的大小或位置做出任何改变或定制。本专利技术的各实施例正是相对于这些和其它考虑事项而做出的。
技术实现思路
依照本专利技术,以上和其它问题由一种方法、装置和计算机可读介质来解决,它们用于基于将数据和关系变换成特定图形布局的一组约束在绘图应用程序内创建和布局图形。该方法包括接收定义数据以及在图形中表示的数据之间的关系的数据模型、接收定义要创建的图形的图形定义、通过将数据从数据模型映射到图形定义中的信息来生成布局树、依照图形定义中指定的约束值和约束规则来确定图形形状的大小和位置、以及使用来自布局树的信息来创建图形的形状列表。这些形状然后可由任何呈现应用程序来呈现,以获得最终的图形。为将数据从数据模型映射到图形定义中的信息,该方法反复通过数据模型,并应用图形定义中指定的准则来对构造图形所需的每一形状确定算法、约束、约束规则和形状属性。这些数据集然后被添加到布局树,该布局树是图形结构的分层表示。为确定图形形状的大小和位置,该方法访问图形定义中的算法、约束和约束规则。算法来自一组无限制的潜在算法,它们知道如何对形状定大小和定位以获得特定的图形布局,诸如在圆形路径中布局形状或在直线路径中布局形状。算法使用约束或起始值,以及约束规则或用于在一范围内改变那些起始值的指令,基于形状的数目、每一形状内文本的数量、以及其中将要布局形状的区域的尺寸,来确定形状的大小和位置。本专利技术可被实现为计算机过程、计算系统、或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读的、且编码用于执行计算机过程的指令的计算机程序的计算机存储介质。计算机程序产品也可以是计算系统可读的、且编码用于执行计算机过程的指令的计算机程序的载波上的传播信号。阅读以下详细描述,并观察附图,表征本专利技术的这些和各种其它特征以及优点将变得显而易见。附图说明图1是示出在本专利技术的各实施例中使用且由各实施例提供的计算机系统的计算机系统体系结构图,图2是依照本专利技术的各实施例,用于在图1的计算机系统中的绘图应用程序内创建和布局图形的各组件的框图,图3是依照本专利技术的各实施例的说明性布局树的框图,图4是依照本专利技术的各实施例用于生成布局树的说明性图形定义的一部分的框图,以及图5是依照本专利技术的一个实施例,由图1的计算机系统中的绘图应用程序执行的、用于创建和布局图形的说明性例程。具体实施例方式现在参考附图,将描述本专利技术的各方面,附图中,相同的标号表示相同的元素。具体地,图1和对应的讨论旨在提供其中可实现本专利技术的各实施例的合适的计算环境的简要概括描述。尽管将在结合运行在个人计算机上的操作系统上的应用程序执行的程序模块的一般上下文中描述本专利技术,然而本领域的技术人员将认识到,本专利技术也可结合其它类型的计算机系统和程序模块来实现。一般而言,程序模块包括例程、程序、组件、数据结构以及其它类型的结构,它们执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员将理解,本专利技术可以用其它计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、小型机、大型机等等。本专利技术也可在分布式计算环境中实施,其中任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。现在参考图1,将描述在本专利技术的各实施例中使用的计算机2的说明性计算机体系结构。图1所示的计算机体系结构示出了常规台式或膝上计算机,包括中央处理单元5(“CPU”)、系统存储器7(包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11)、以及将存储器耦合至CPU5的系统总线12。包含例如在启动时有助于在计算机内的元件之间传输信息的基本例程的基本输入/输出系统储存在ROM11中。计算机2还包括大容量存储设备14,用于储存操作系统16、应用程序以及其它程序模块,这些将在下文详细描述。大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接到CPU5。大容量存储设备14及其相关联的计算机可读介质为计算机2提供了非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,如硬盘或CD-ROM驱动器,然而本领域的技术人员应当理解,计算机可读介质可以是可由计算机2访问的任何可用介质。作为示例而非局限,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机2访问的任一其它介质。依照本专利技术的各实施例,计算机2可以使用通过诸如因特网等网络18到远程计算机的逻辑连接在网络化环境中操作。计算机2可以通过连接到总线12的网络接口单元20连接到网络18。应当理解,网络接口单元20也可用于连接到其它类型的网络和远程计算机系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自包括键盘、鼠标或电子触针(图1中未示出)的多个其它设备的输入。类似地,输入/输出控制器22可向显示屏幕、打印机或其它类型的输出设备提供输出。如上所述,多个程序模块和数据文件可储存在计算机2的大容量存储设备14和RAM9中,包括适用于控制网络化个人计算机的操作的操作系统16,如来自华盛顿州雷蒙德市微软公司的WINDOWS XP操作系统。大容量存储设备14和RAM9也可储存一个或多个程序模块。具体地,大容量存储设备14和RAM9可储存绘图应用程序10。绘图应用程序10可用于提供用于诸如图形24等图形的创建和布局的功能。依照本专利技术的一个实施例,绘图应用程序10包括来自微软公司的OFFICE应用本文档来自技高网...

【技术保护点】
一种用于在应用程序内创建和布局图形的方法,包括:接收数据模型,所述数据模型定义了要在所述图形中表示的一组数据和数据关系,接收图形定义,所述图形定义描述了来自所述数据模型的数据到布局节点、算法、参数、约束、约束规则和形状属性的 映射,以及使用与所述布局节点相关联的算法、参数、约束、约束规则和形状属性,对所述图形中的形状确定形状大小和位置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:JL肖尔ST韦尔斯M科特勒TC昂得希尔SA舍曼I伯科
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1