墨水效果的制作方法

文档序号:16366474发布日期:2018-12-22 08:27阅读:407来源:国知局
墨水效果的制作方法

经由触摸屏或指针(pointing)设备的墨水输入为用户提供了将自由形式的输入应用到电子创作环境中的能力。例如,当使用图形设计软件(可从ca州sanjose市的adobesystems公司获得)、演示应用(可从ca州cupertino市的apple公司获得)、bambootm纸上绘图应用(可从日本kazo市的wacom有限公司获得)或者其它电子创作环境时,用户可以经由触摸屏来应用笔(pen)、触笔(stylus)或者手指以提供墨水输入,或者可以经由鼠标或其它指针设备在用于输入的用户界面中选择笔输入选项以提供墨水输入。

尽管用户可以针对墨水输入选择影响所显示的墨水对象的大小(例如,6点、8像素、1/4英寸)、形状(例如,正方形、圆形等)、颜色、透明度和纹理(例如,蜡笔纹理、画刷纹理、书法纹理)的各种效果,但这些效果是基本的形状和颜色效果,而用户常常期望与基本的形状和颜色选择所提供的能力相比更加强大的能力以利用墨水输入突出显示内容。附加地,为了使用户将多个形状和颜色效果应用于墨水输入,墨水输入必须被分成多个对象,每个对象被应用各自的效果,因此增加了用户的工作负荷,并且需要额外的系统资源来将这些单独的对象保存在存储器中。



技术实现要素:

提供了该发明内容以用简化的形式引入在以下具体实施方式部分中进一步描述的一些选择的概念。本发明内容不旨在标识所要求保护的主题的所有特征,也不旨在限制所要求保护的主题的范围。

在本文中提供了系统和方法以实现针对墨水输入的更加高效的交互性,该交互性使得可变的效果如其在电子创作环境的图形用户界面中所示出的那样被应用于墨水输入,而不需要用户创建将被应用单独的效果的多个对象。由用户选择效果定义以应用于电子创作环境中的新的或现有的墨水输入对象,该墨水输入对象从效果定义中抽取其效果。在各种方面中,效果定义被锚定至墨水输入对象,并且取决于墨水输入对象的大小而被平铺(tile)或拉伸以符合或超过墨水输入对象的大小。墨水输入对象可以被锚定在效果定义的随机位置处或者效果定义中的规定位置处(基于其它墨水输入对象、对象在创作环境中的位置、对象的朝向),并且墨水输入对象可以包括分层的多个效果。通过采用本公开的方面,提供了改进的用户体验,并且消耗较小的存储器和较少的处理资源来向墨水对象提供高级效果。

在以下的附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述并且回顾相关联的附图,其它特征和优点将是显然的。应当理解,以下的详细描述仅是示例性的而不是限制性的;本公开的适当的范围是由权利要求设定的。

附图说明

包含在本公开中并且构成其一部分的附图示出了本公开的各种方面。在附图中:

图1示出了系统的框图,该系统能够在电子创作环境中接受墨水输入并向墨水对象应用高级效果;

图2示出了通过应用谱线的墨水效果定义而被应用于墨水输入的高级墨水效果的几个示例;

图3示出了谱线的几个示例;

图4示出了应用于示例文本笔划的谱线的距离分配的各种示例;

图5示出了将相同的文本笔划不同地锚定至同一谱线的两个示例;

图6示出了通过应用图像文件的墨水效果定义而被应用于笔划的高级墨水效果的示例;

图7示出了利用不同的锚点来应用图像映射的两个示例;

图8示出了用于平铺图像定义的两个示例;

图9示出了各种分层的墨水效果;

图10是示出了在用于提供高级墨水效果的示例方法中所涉及的一般阶段的流程图;

图11是示出了可用以实施多个示例的计算设备的物理组件的框图;

图12a和图12b是可用以实施多个方面的移动计算设备的框图;以及

图13是可在其中实施多个方面的分布式计算系统的框图。

具体实施方式

以下详细描述对附图进行了参考。在任何可能的地方,在附图和以下描述中使用相同的参考编号指代相同或类似的元素。尽管可以描述本公开的多个方面,但修改、调整和其它实现也是可能的。例如,可以对在附图中所示出的元素进行替换、增加或修改,并且可以通过对所公开的方法进行替换、重新排序或增加阶段来修改在本文中所描述的方法。从而,以下详细描述不对本公开进行限制,而是替代地,本公开的适当的范围是由所附权利要求所限定的。示例可以采取硬件实现、或者完全软件实现、或者结合了软件和硬件方面的实现的形式。因此,以下详细描述不被认为具有限制性意义。

在本文中提供了系统和方法以实现针对墨水输入的更加高效的交互性,该交互性使得可变的效果如其在电子创作环境的图形用户界面中所示出的那样被应用于墨水输入,而不需要用户创建将被应用单独的效果的多个对象。由用户选择效果定义以应用于电子创作环境中的新的或现有的墨水输入对象,该墨水输入对象从效果定义中抽取其效果。在各种方面中,效果定义被锚定至墨水输入对象,并且取决于墨水输入对象的大小而被平铺(tile)或拉伸以符合或超过墨水输入对象的大小。墨水输入对象可以被锚定在效果定义的随机位置处或者效果定义中的规定位置处(基于其它墨水输入对象、对象在创作环境中的位置、对象的朝向),并且墨水输入对象可以包括分层的多个效果。通过采用本公开的方面,提供了改进的用户体验,并且消耗较小的存储器和较少的处理资源来向墨水对象提供高级效果。

图1示出了系统100的框图,该系统100能够在由虚线180所表示的电子创作环境(eae)中接受墨水输入并向墨水对象应用高级效果。eae180的示例包括但不限于:文字处理程序、演示程序、图示程序、笔记记录程序、电子表格程序等。eae180处理从输入应用程序接口(api)110所接收的输入(即,指针输入),并且将输入传递到操作系统图形api170以进行渲染,操作系统图形api170进而会将eae180的图形(包括墨水对象)传递至输出设备,诸如,例如计算机监视器或智能电话显示屏。

系统100可以从诸如鼠标、键盘、遥控器等的输入设备,或者从自然用户输入(nui)方法接收指针输入,所述nui方法包括依赖于话音识别、触摸和触笔识别、屏幕上的和临近于屏幕的手势识别、空中手势、头部和眼睛跟踪、语音和话音、视觉、触摸、悬停、手势和机器智能的那些方法。指针输入是这样的输入,其例如通过在给定程序或应用内表示的并且与给定输入设备相关联的光标来定义图形用户界面内的用户交互点。可以由输入api110解释输入,以在eae180中用作数字墨水输入。用户可以通过以下方式告知系统100期望墨水输入而不是其它类型的输入:选择墨水输入用户界面(ui)元素、使用特定的输入设备、或者根据上下文地基于指针在eae180中的位置。例如,用户可以在触摸屏上使用墨水输入触笔以指示期望墨水输入(而不是经由鼠标设备的位置输入),可以在eae180的画布区域开启墨水输入(而不是eae180的ui控制区域中的选择输入),或者可以在用户致动鼠标按钮时开启墨水输入(而不是当鼠标按钮未被致动时的位置输入)。当用户已经指示期望墨水输入时,输入api110从输入设备接收输入,并且将坐标和压力(如果在基于触摸的设备上可获得)以及其它元数据发送至eae180。其它元数据可以包括但不限于:设备标识符(例如,触笔一、触笔二)、主要或次要输入(例如,鼠标按钮一或二、触笔笔尖、或“橡皮”)、输入的速度、接收到输入时的创作模式(例如,编辑模式、演示模式、文本框输入、自由形式输入)、eae180内的用户定义的设置等。

由湿笔划处理器120接收来自输入api110的输入,湿笔划处理器120将输入聚集在一起成为笔划。输入被收集,直到确定笔划完成为止,诸如,例如用户将触笔从触摸屏抬起或者触摸输入降到压力阈值之下、释放鼠标按钮、指针在规定的时间段内保持静止等。笔划被从湿笔划处理器120传递至笔划队列140以便并入到文档中,并且被传递至湿笔划渲染器130以用于渲染和显示给用户。应当理解,当笔划处于其“湿”状态时,其可能是不完整的(即,用户可能仍然在做出该笔划),在该笔划正被输入时其被从湿笔划处理器120传递至湿笔划渲染器130,使得在用户做出笔划时,该用户接收到关于该笔划在gui中看起来是什么样的反馈。

湿笔划渲染器130基于当笔划被接收时该笔划在图形用户界面(gui)的创作区域中的坐标(以及可选地,压力和其它元数据)以及eae180的绘制参数,来创建处于“湿”状态的笔划的几何结构。应当理解,eae180的绘制参数可以指定将要与笔划相关联的几何结构的形状和大小。例如,用户可以选择圆形、正方形、斜线、星形等来作为笔划的形状(或印记(stamp)),并且选择为该形状指定的大小(例如,2pt、6pt、.25cm、1/16英寸、25像素)。绘制参数还可以指示将要应用于笔划的墨水效果或者针对墨水效果的选项。湿笔划处理器120使用这些输入来创建笔划的几何结构,如其将在gui中被看到的那样。这些几何结构被传递至操作系统图形api170并且可以当墨水效果已经被用户选择时包括墨水效果定义160,使得当用户在gui中做出该笔划时,用户能够看到被应用于该笔划的墨水效果,例如,看到“墨水”从触笔流到gui中。

笔划队列140从湿笔划处理器120接收完成的笔划,并且将它们聚合到eae180正在编辑的文档中。在各种方面中,输入的坐标和元数据(例如,压力、绘制参数)被存储在文档的框架内,例如,作为可扩展标记语言(xml)层级或javascript对象标记(json)表示中的对象。当文件被重新打开或者当用户导航至对象所驻留的文档的一部分时,笔划队列140可以从文档框架中取回(retrieve)对象以在gui中作为“干”笔划来显示,使得当用户导航gui时该对象在gui中可见或部分可见。用户可以经由gui来修改“干”笔划以改变参考点、笔划的规模、或者绘制参数。

干笔划渲染器150基于当笔划被从文档框架取回时该笔划在图形用户界面(gui)的创作区域中的坐标(以及可选地,压力和其它元数据)以及笔划的绘制参数,来创建处于“干”状态的笔划的几何结构。应当理解,干笔划的绘制参数可以与在eae180中针对新笔划设置的那些参数不同,并且用户可以经由gui中的各种对话和控件来改变干笔划的绘制参数。这些几何结构被传递至操作系统图形api170并且可以当墨水效果已被用户选择时包括墨水效果定义160,使得用户可以看到应用于已被提交至eae180的笔划的墨水效果。

墨水效果定义160定义了被应用于在gui中所示出的笔划的几何结构的附加图形效果。这些效果可以在由用户设置的各种层和各种行为中示出,将结合图2-10来讨论这些效果。所述定义包括图像文件(例如,位图、gif(图形可交换格式)、jpeg(联合图像专家组)、png(便携式网络图形))以及谱线(spectralline)(定义了将与笔划序列性地使用的各种颜色)。在一些方面中,可以将诸如动画gif的动画图像用作墨水效果定义160的图像文件,使得可以将,诸如,例如闪烁、发光、波浪、渐隐、脉冲等的动画效果应用于墨水对象。

当将图像文件用作墨水效果定义160时,笔划可以向墨水效果定义160指定锚定(anchoring)属性(指示位置和朝向),或者可以使用随机锚点(anchorpoint),其中可以从该随机锚点处应用遮罩(mask)。类似地,当将谱线用作墨水效果定义160时,可以由锚点来指定开始颜色,或者可以随机地分配开始颜色,并且谱线相对于几何结构的朝向可以由用户定义或者被随机地分配。锚点可以被用户分配为保持每笔划恒定(例如,对每个新笔划使用相同的锚点)、基于先前的笔划(例如,使用先前笔划的末端点作为新笔划的锚点)、基于笔划在画布中的位置或朝向、或者为每个新笔划随机地选择。

墨水效果定义160可以被拉伸或平铺以符合或超过eae180中的墨水对象的大小。例如,如果用户已经选择了彩虹图案的谱线以当用户在gui中书写时应用,则当用户输入笔划时,该彩虹可以从红色到紫色再回到红色地循环若干次。在另一示例中,如果用户已经选择了图像文件,则该图像文件可以被拉伸以匹配或超过单个笔划或一组笔划的大小,或者图像文件可以被平铺以匹配或超过单个笔划或一组笔划的大小。应当理解,二维图像文件可以二维地(竖直地和水平地)进行平铺,并且可以在其被平铺时进行旋转或不进行旋转以提供镜像对称或者重复该图像。

在各种方面中,用户可以使用被包括在eae180的本地部署中的墨水效果定义160,经由eae180的基于云的单元来接收墨水效果定义160,或者定义其自己的墨水效果定义(例如,指定图像文件、指定将在谱线中使用的颜色)。当提供定义时,可以指定当将图像应用于墨水对象时是否(以及如何)对图像进行平铺或者拉伸。

操作系统图形api170处理几何结构以及渲染的图形效果,使得它们将根据与系统100相关联的显示设备而被显示。将几何结构和墨水效果定义160转换成适合于用户的显示设备的像素值,并且提供任何覆盖效果。例如,针对给定的几何结构和墨水效果定义,操作系统图形api170可以当墨水对象被显示在第一显示设备上时根据第一方式(具有x个像素,其具有各种色调和亮度)来渲染墨水对象,而诸如例如当用户在膝上型监视器上查看演示并且将显示切换至具有不同分辨率和颜色属性的投影仪时,根据第二方式(具有y个像素,其具有各种色调和亮度)在第二显示设备上渲染墨水对象。

图2示出了通过将谱线的墨水效果定义作为网格应用于笔划的几何结构,而被应用于墨水输入的高级墨水效果的图形效果的几个示例。如在左边所示出的,示出了针对字母“s”的墨水输入200,其可能已经在单个笔划中被输入到eae180中。第一示例201示出了由跨墨水输入200水平地应用的谱线所定义的渐变墨水效果,第二示例202示出了沿着墨水输入200的笔划的路径而应用的渐变墨水效果,第三示例203示出了跨墨水输入200的笔划而应用的渐变墨水效果。其它应用是可能的,诸如,例如将随着笔划延长而扩展的来自笔划中心的泛光(bloom),并且前述应用是作为非限制性示例给出的。

图3示出了谱线的几个示例。可以将谱线定义为当在eae180中应用笔划(如此处所示出的,从左向右绘制)时循环经过的颜色序列300(如此处以灰阶示出的各种阴影)。应当理解,与在图示颜色序列300中所示出的相比,采用不同顺序且具有不同色调和亮度的更多或更少的颜色是可能的,并且所图示的谱线的颜色序列300是作为非限制性示例给出的。

示例300示出了应用于各种笔划线310a-c的谱线的单个循环,并且示例320示出了应用于各种笔划线320a-c的相同谱线的两个循环,各种笔划线320a-c与结合示例310所示出的笔划线相比更长。应当理解,取决于显示设备的混合特性和能力,笔划可以具有应用了更多或更少的填隙(interstitial)颜色的谱线,并且墨水输入的形状(此处示出为圆形)可以类似地被混合或覆盖。示例330示出了在做出笔划线330a-d中的每个时随后的笔划可以如何在谱线定义(其可以包括填隙颜色)中使用不同的锚点,这在用户组合或覆盖笔划以使得笔划在gui中在视觉上彼此区别时(例如,在应用字符的横划(crossbar)或重叠部分(如在“t”、“お”、草书循环等中所示出的)或者以自由形式绘制时)是有用的,将结合图5对此详细讨论。

如在示例330中所示出的,在各种方面中,笔划线330a-d可以在锚点改变时对颜色序列300中的颜色重新排序,或者可以保留颜色序列300中的颜色的顺序而仅改变在颜色序列300的该顺序的颜色中哪个颜色是开始颜色。

示例340示出了颜色序列300不取决于笔划的绘制长度、而是取决于用于绘制笔划线340a-c的压力或速度的影响,在该情况下,颜色与触摸板上的给定压力或者笔划被输入的速度相关联。如此处所示出的,速度和/或压力还取决于笔划图示的大小参数,本领域技术人员将会理解,速度和/或压力也可以取决于诸如形状(例如,从所示出的圆形转换至不同的形状)的其它绘制参数或者仅取决于颜色。

图4示出了针对被应用于示例文本笔划的谱线的距离分配的各种示例。如所示出的,利用针对组分颜色的各种相对长度而示出了支持可变长度的颜色序列400(单个地,颜色400a-e),其中第一颜色400a具有最短长度而第四颜色400d最长。应当理解,与所图示的支持长度的颜色序列400中示出的相比,采用不同顺序、具有不同色调和亮度以及不同相对长度的更多或更少的颜色是可能的,并且所图示的谱线的支持可变长度的颜色序列400是作为非限制性示例给出的。

在实践中,当笔划被绘制时,将利用在支持可变长度的颜色序列400中具有较长长度的颜色来示出笔划的较大部分,并且绘制参数可以针对支持可变长度的颜色序列400或者其组分颜色具有相等长度的颜色序列来指定绘制距离。示例文本410、420和430示出了可以如何独立地或者与颜色序列400中的颜色的长度相结合地对谱线应用颜色的不同绘制距离。如根据三个示例文本410、420和430中的谱线从来自单个颜色400a-e的转换的相对定位(location)中可以看到的,示例文本410示出了最短绘制距离(其中,第五颜色400e第一次出现在“lorem”的“r”中),示例文本420示出了中等绘制距离(其中,第五颜色400e第一次出现在“lorem”的“e”中),而示例文本430示出了最长绘制距离(其中,第五颜色400e第一次出现在“ipsum”的“p”中)。应当理解,如果谱线使用支持长度可变的颜色序列400,则相对长度将根据绘制距离绘制参数而被拉伸或缩减,在本文中所讨论的绘制距离参数是作为非限制性示例而给出的;与结合图4所示出的相比,更多或更少的选项在各种方面中是可能的。

图5示出了将相同的文本笔划不同地锚定至同一谱线的两个示例。如在这两个示例中所示出的,已经使用循环彩虹(即,利用适当的填隙颜色从第一颜色变到第二颜色再到第三颜色并且重复)的谱线写出了字母“f”,其中,用一个笔划(从上到下)写出了上伸部(ascender)并且用第二笔划(从左到右)写出了横划。在第一示例510中,针对每个笔划的谱线中的锚点是基于先前笔划的最后使用的颜色的,使得字母“f”的横划延续对字母“f”的上伸部最后使用的着色(被示出为第一颜色)。然而,在第二示例520中,使用随机锚点或偏移锚点(例如,所定义的颜色的跳跃),使得来自最后笔划的结束颜色不被用作下一笔划的开始颜色,如由字母“f”的上伸部以第二颜色结束、但横划以第一颜色开始所示出的。应当理解,如果每个笔划使用相同的锚点(其在一些方面中是一个选项,尽管没有示出),则在书写字母“f”的示例中,上伸部笔划的开始颜色将与横划笔划的开始颜色相同。

图6示出了通过应用图像文件的墨水效果定义而被应用于笔划的高级墨水效果的图形效果的示例。经由虚线示出了笔划的几何结构610,其被应用于图像定义620以创建针对每个笔划的效果遮罩630。通过创建效果遮罩630而不是如结合图2-5所讨论的那样沿着笔划推进谱线,可以实现跨笔划和墨水对象的更好的效果一致性。如图所示,几何结构610中的每个几何结构具有相同的竖直(灰阶)彩虹效果,而无论笔划从哪里开始、在哪里与其它笔划相交、或者在哪里结束。

图7示出了利用不同的锚点来应用图像映射的两个示例。在已经提供了相同的九个笔划的这两个示例中,对草书“writetherainbow”进行输入。

已经根据笔划在画布上的位置而将第一示例710锚定至彩虹的图像定义,使得“w”笔划的最高部分以第一颜色示出,而在画布上位于“w”笔划的最高部分之下的“the”的笔划的最高部分则以不同于第一颜色的第二颜色示出。应当理解,如果笔划位置被单个地锚定至图像定义,则每个笔划的高点(在各种实施例中,中间点或低点)将是相同颜色(假定没有拉伸或缩减),而无论其在画布上的相对位置。可替代地,高级墨水效果可能已经被应用于所收集的多个笔划而不是单个笔划的墨水对象,在该情况下,可能已经通过在不考虑单个笔划的画布位置的情形下将对象锚定至图像定义而实现了锚定。

已经与在第一示例710中所示出的锚定相垂直地将第二示例720锚定至图像定义,使得彩虹效果不是竖直地改变颜色,而是跨墨水对象水平地改变颜色。应当理解,已经跨墨水对象、而不是跨每个笔划单个地应用了彩虹的图像定义,尽管在各种示例中,可以单个地锚定每个笔划,使得例如“w”笔划将从左到右循环通过(灰阶)彩虹,“rite”笔划、点笔划、横划笔划等也一样。应当理解,如果图像定义不足够大以被映射至墨水对象,则其可以被拉伸至墨水对象的大小,或者被平铺以符合墨水对象的大小,并且如果图像文件针对第二示例720而被平铺,则(灰阶)彩虹可以在草书“writetherainbow”中的各种点处重复。

图8示出了用于平铺图像定义的两个示例。在第一示例平铺810中,根据需要在x和y方向上重复初始图像811,同时在经平铺的图像812的每个拼块(tile)中保持该初始图像811的朝向。在第二示例820中,根据需要在x和y方向上重复初始图像821,同时在经平铺的图像822的一些或全部拼块中旋转该初始图像821的朝向。应当理解,可以在x轴上、在y轴上、或在这两个轴上旋转给定图像,并且绕给定的一个轴(或多个轴)的两次旋转将导致初始朝向。取决于用于图像定义的图像,图像的各种平铺方法或拉伸可以是优选的,其可以经由与那些图像相关联的元数据或者用户偏好而被指示给eae180。

图9示出了被应用作为墨水效果的各种分层的图形效果。四个示例中的每个示例利用同一组笔划示出了墨水效果的不同分层和基本几何结构。当对墨水效果进行分层时,可以针对具有不同绘制参数但具有相同定位数据和(可选的)压力数据的单一一组笔划进行笔划渲染器130或150的多次调用,使得在同一定位利用不同效果对笔划进行多次渲染,以产生分层的效果。应当理解,所得出的多个几何结构可以被视为一个对象或者在不同的方面中被视为eae180中的单独的对象。

如所示出的,第一示例910和第二示例920展示了如何利用分层的墨水效果来使用透明度。第一示例910展示了针对具有不同绘制参数的相同笔划的几何结构的两次渲染的分层,其中一次黑色,一次灰色,使得灰色几何结构小于黑色几何结构并且可以为了条带效果而被示出在黑色几何结构的“上方”。类似地,第二示例920使用了对具有不同绘制参数的相同笔划的多次渲染来创建“道路”效果,其中笔划的条带几何结构被分层在灰色和黑色几何结构的上方。

如所示出的,第三示例930和第四示例940展示了如何利用分层的墨水效果来使用图像定义。第三示例930示出了如下图像定义,该图像定义被用作围绕黑色线条几何结构的纯笔划定义,以创建来自纯线条几何结构的泛光效果,而第四示例940示出了如下图像定义几何结构,该图像定义几何结构被示出为较小的并且在纯黑色线条几何结构上方,以创建图像几何结构的边界效果。应当理解,尽管未示出,但也可以在分层的墨水效果中使用谱线墨水效果。

尽管在谱线方面一般地讨论了图2-5,并且在被用于高级墨水效果的图像文件方面一般地讨论了图6-9,但本领域技术人员将会根据所有附图而意识到适用于墨水效果的教导。

图10是示出了在用于提供作为高级墨水效果的图形效果的示例方法1000中所涉及的一般阶段的流程图。方法1000在操作1010处开始,其中墨水输入是在gui中接收的(经由gui中针对“湿”笔划的用户交互),或者是从文档存储中取回的(例如,所存储的墨水对象或“干”笔划)。墨水输入包含关于在gui或画布中的哪里接收到墨水输入或者墨水输入属于gui或画布中的哪里的坐标数据,并且可以可选地包括关于以下各项的元数据:触摸板上对应于所接收的输入的压力(如果适用)、输入被接收的速度(例如,用户是快速地还是慢速地改变输入被接收的定位)、做出输入的设备等。附加地,在操作1010中接收在eae180内设置的绘制参数,诸如,例如用户是否已经选择了墨水效果、基于输入的几何结构的大小(例如,pt大小、像素大小、单位大小)、用于建立几何结构的形状或印记(例如,圆形、正方形、星形、六边形、菱形)、颜色、透明度等。当已经选择了墨水效果时,用户可以选择多个不同的绘制参数,所述绘制参数可以是分层的并且被包括在以下项中:分层的墨水效果定义160、用作墨水效果定义160的图像文件、和/或用作墨水效果定义160的谱线以及与那些墨水效果相关联的参数(例如,锚点、平铺/拉伸、应用效果的朝向、层的顺序)。

在操作1020处,基于墨水输入的绘制参数来建立用于表示墨水输入的几何结构。所述几何结构使得笔划能够被表示为eae180中的二维对象。方法1000接着进行至决策1030,在决策1030中确定当在gui中渲染所述几何结构时是否要应用墨水效果。

当在决策1030处确定用户已经选择了谱线的墨水效果时,方法1000进行至操作1040,在操作1040中确定墨水效果定义160的锚点。锚点使能谱线中的期望的开始位置,并且可以指定当将谱线应用于所述几何结构时在构成谱线的颜色中将首先使用的给定颜色,该颜色可以是优选的颜色(例如,总是以谱线中的第一颜色开始)、随机颜色、或者基于来自先前笔划的最后使用的颜色的颜色(例如,如果应用于所输入的上个笔划的最后颜色是颜色a,则使用颜色b)。当用户将一个墨水对象分成多个墨水对象时,新的墨水对象可以保留锚点,使得它们保留其原来的墨水效果,或者可以为新的墨水对象中的至少一个墨水对象分配新的锚点,使得将新的墨水效果应用于至少一个新的墨水对象。

在操作1050处,从谱线的锚点颜色开始将谱线应用于笔划的几何结构。取决于笔划的长度、绘制距离绘制参数的长度、当被应用时谱线的颜色序列针对单个颜色是支持可变长度的还是每个颜色被提供了相同的相对长度、应用的朝向(例如,水平地、沿着笔划的路径、跨笔划)、以及笔划的长度,谱线将被不同地应用于笔划的几何结构。结合图2-5讨论了针对笔划几何结构的谱线的示例应用。谱线定义了作为网格(例如,三角网格)或者作为栅格图而被应用于笔划的几何结构的颜色。方法1000接着进行至操作1080,在操作1080中,在gui中渲染具有所应用的网格(或栅格图)的几何结构。

当在决策1030处确定用户已经选择了图像文件的墨水效果时,方法1000进行至操作1060,在操作1060中确定墨水效果定义160中的锚点。锚点使能图像文件中的期望的开始位置以及图像将被应用于几何结构的朝向(例如,水平地、竖直地、与水平或竖直呈x度)。锚点可以指定一个笔划或一组笔划可以相对于图像文件的坐标而放置,使得被应用于几何结构的遮罩包括图像文件的具体部分。锚点可以基于先前笔划的锚点值(笔划的第一或最后的定位和/或朝向)、笔划的画布位置、或者图像中的优选位置和朝向。当用户将一个墨水对象分成多个墨水对象时,新的墨水对象可以保留锚点,使得它们保留其原来的墨水效果,或者可以为新的墨水对象中的至少一个墨水对象分配新的锚点,使得将新的墨水效果应用于至少一个新的墨水对象。

在操作1070处,从所述图像文件的锚点位置开始将图像文件应用于笔划的几何结构。取决于一个笔划或一组笔划的几何结构的、与图像定义的大小相比的相对大小,图像定义可以被平铺或拉伸(或缩减)以考虑到所述几何结构的大小。所述几何结构被应用于所述图像以创建墨水效果遮罩。根据锚点将所述几何结构放置于由用户定义用作墨水效果定义160的图像(或者其拉伸/平铺的版本)上,并且发送与所述几何结构相交的所述图像定义的像素以在gui中渲染,使得用户所期望的墨水效果与笔划的几何结构的大小和形状相匹配。结合图6-9讨论了使用墨水效果遮罩来将图像文件应用于笔划几何结构的示例。方法1000接着进行至操作1080,在操作1080中,在gui中渲染所述墨水效果遮罩。

当在决策1030处确定用户还没有选择墨水效果,或者所选择的墨水效果仅仅要求多层几何结构(未调用谱线或图像文件以应用于几何结构)(例如,将用纯色来渲染几何结构)时,方法1000进行至操作1080,在操作1080中,在gui中渲染笔划的几何结构。在各种方面中,可以将多个几何结构视为eae180中的单独的对象或者视为单个对象。

方法1000可以多次重复操作1030-1080,针对每层墨水效果重复一次,其可以包括未被应用高级墨水效果或其它图形效果的几何结构以及已被应用了高级墨水效果(例如,谱线或图像文件)的几何结构。方法1000接着结束。

尽管已经在结合计算机操作系统上运行的应用程序而执行的程序模块的一般性上下文中描述了多种实现,但本领域技术人员将会理解也可以结合其它程序模块来实现多个方面。通常而言,程序模块包括例程、程序、组件、数据结构、以及执行特定任务或实现特定抽象数据类型的其它类型的结构。

在本文中所描述的方面和功能可以经由多种计算系统来运行,所述多种计算系统包括但不限于:台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或平面型计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、以及大型计算机。

另外,根据一个方面,在本文中所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上运行,其中,可以通过分布式计算网络(例如因特网或内联网)彼此远程地运行应用功能、存储器、数据存储和取回、以及各种处理功能。根据一个方面,可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示各种类型的用户界面和信息。例如,在各种类型的用户界面和信息所投射到的墙面上显示所述各种类型的用户界面和信息并且与之进行交互。与实现的实施所利用的多种计算系统的交互包括键击输入、触摸屏输入、语音或其它音频输入、手势输入等,其中在手势输入中,相关联的计算设备配备有用于捕获和解译用户手势的检测(例如,相机)功能,所述用户手势用于控制计算设备的功能。

图11-13以及相关联的描述提供了对可在其中实施多个示例的多种操作环境的讨论。然而,参考图11-13示出和讨论的设备和系统是出于示例和说明的目的,而不限制用于实施本文所描述的方面的大量计算设备配置。

图11是示出了可用以实施本公开的示例的计算设备1100的物理组件(例如,硬件)的框图。在基本配置中,计算设备1100包括至少一个处理单元1102和系统存储器1104。根据一个方面,取决于计算设备的配置和类型,系统存储器1104包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这些存储器的任何组合。根据一个方面,系统存储器1104包括操作系统1105以及适合于运行软件应用1150的一个或多个程序模块1106。根据一个方面,系统存储器1104包括eae180,其操作用于使得软件应用1150能够经由存储的指令来使用本公开中的教导。操作系统1105例如适合于控制计算设备1100的操作。此外,多个方面可以结合图形库、其它操作系统、或任何其它应用来实施,而不限于任何特定的应用或系统。在图11中由虚线1108内的那些组件示出了该基本配置。根据一个方面,计算设备1100具有附加的特征或功能。例如,根据一个方面,计算设备1100包括附加的(可移动的和/或不可移动的)数据存储设备,诸如,例如磁盘、光盘或磁带。在图11中由可移动存储设备1109和不可移动存储设备1110示出了这样的附加存储。

如在上文中所述,根据一个方面,可以将多个程序模块和数据文件存储在系统存储器1104中。当在处理单元1102上执行时,程序模块1106(例如,eae180)执行包括但不限于图10所示方法1000的一个或多个阶段的过程。根据一个方面,其它程序模块是根据示例来使用的,并且包括以下应用,例如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。

根据一个方面,计算设备1100具有一个或多个输入设备1112,例如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一个方面,还包括诸如显示器、扬声器、打印机等的输出设备1114。前述设备是示例,并且可以使用其它设备。根据一个方面,计算设备1100包括允许与其它计算设备1118通信的一个或多个通信连接1116。合适的通信连接1116的示例包括但不限于射频(rf)发射机、接收机和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

在本文中所使用的术语计算机可读介质包括计算机存储介质装置和制品。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构或程序模块的信息的任何方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器1104、可移动存储设备1109以及不可移动存储设备1110都是计算机存储介质的示例(即,存储器存储)。根据一个方面,计算机存储介质包括:ram、rom、电可擦除可编程只读存储器(eeprom)、闪速存储器或其它存储器技术、cd-rom、数字通用盘(dvd)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或者可以用于存储信息并且可以由计算设备1100访问的任何其它制品。根据一个方面,任何这样的计算机存储介质都是计算设备1100的一部分。计算机存储介质不包括载波或其它传播的数据信号。

根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其它传输机制)中的其它数据来实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述具有以在信号中对信息进行编码这样的方式来设置或改变的一个或多个特性的信号。作为示例而非限制性地,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声学、射频(rf)、红外和其它无线介质)。

图12a和12b示出了可用以实施多个方面的移动计算设备1200,例如,移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图12a,示出了用于实现多个方面的移动计算设备1200的示例。在基本配置中,移动计算设备1200是具有输入单元和输出单元两者的手持计算机。移动计算设备1200通常包括显示器1205以及允许用户向移动计算设备1200中输入信息的一个或多个输入按钮1210。根据一个方面,移动计算设备1200的显示器1205充当输入设备(例如,触摸屏显示器)。如果包括的话,则可选的侧面输入单元1215允许进一步的用户输入。根据一个方面,侧面输入单元1215是旋转开关、按钮、或任何其它类型的手动输入单元。在可替代的示例中,移动计算设备1200包含更多或更少的输入单元。例如,在一些示例中,显示器1205可以不是触摸屏。在可替代的示例中,移动计算设备1200是便携式电话系统,例如蜂窝电话。根据一个方面,移动计算设备1200包括可选的小键盘1235。根据一个方面,可选的小键盘1235是物理小键盘。根据另一方面,可选的小键盘1235是在触摸屏显示器上生成的“软”小键盘。在各种方面中,输出单元包括用于示出图形用户界面(gui)的显示器1205、视觉指示器1220(例如,发光二极管)、和/或音频换能器1225(例如,扬声器)。在一些示例中,移动计算设备1200包含用于向用户提供触觉反馈的振动换能器。在另一个示例中,移动计算设备1200包含用于向外部设备发送信号或者从外部设备接收信号的外围设备端口1240,例如音频输入端(例如,麦克风插孔)、音频输出端(例如,耳机插孔)、以及视频输出端(例如,hdmi端口)。

图12b是示出了移动计算设备的一个示例的架构的框图。也就是说,移动计算设备1200包含系统(即,架构)1202以实现一些示例。在一个示例中,系统1202被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些示例中,将系统1202集成为计算设备,例如集成的个人数字助理(pda)和无线电话。

根据一个方面,一个或多个应用程序1250被加载到存储器1262中,并且在操作系统1264上运行或者与操作系统1264关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。根据一个方面,eae180被加载到存储器1262中。系统1202还包括存储器1262内的非易失性存储区域1268。非易失性存储区域1268用于存储如果系统1202断电而不应丢失的持续信息。应用程序1250可以使用非易失性存储区域1268中的信息并且在非易失性存储区域1268中存储信息,所述信息例如电子邮件或者由电子邮件应用使用的其它消息等。同步应用(未示出)也驻留在系统1202上,并且被编程为与驻留在主计算机上的对应同步应用进行交互,以将存储在非易失性存储区域1268中的信息与存储在主计算机上的对应信息保持同步。应当理解,其它应用可以被加载到存储器1262中并且在移动计算设备1200上运行。

根据一个方面,系统1202具有电源1270,其被实现为一个或多个电池。根据一个方面,电源1270还包括外部电源,例如ac适配器或者给电池补电或充电的加电对接托架。

根据一个方面,系统1202包括执行发送和接收射频通信的功能的无线电单元1272。无线电单元1272经由通信运营商或服务提供商来促成系统1202与“外部世界”之间的无线连通性。来往于无线电单元1272的传输是在操作系统1264的控制下进行的。换句话说,无线电单元1272所接收的通信可以经由操作系统1264而被传播至应用程序1250,反之亦然。

根据一个方面,视觉指示器1220用于提供视觉通知,和/或音频接口1274用于经由音频换能器1225产生可听见的通知。在所示出的示例中,视觉指示器1220是发光二极管(led),而音频换能器1225是扬声器。这些设备可以直接地耦合至电源1270,以便当被激活时,即使处理器1260和其它组件可能为了节省电池电量而关闭,这些设备也能在由通知机制所指示的一段时间内保持开启。led可以被编程为无限期地保持开启,直到用户采取动作来指示该设备的通电状态为止。音频接口1274用于向用户提供可听见的信号并从用户接收可听见的信号。例如,除了耦合到音频换能器1225之外,音频接口1274还可以被耦合至麦克风以接收可听见的输入,例如,以促进电话会话。根据一个方面,系统1202还包括视频接口1276,其使得板载相机1230的操作能够记录静止图像、视频流等。

根据一个方面,实现系统1202的移动计算设备1200具有附加的特征或功能。例如,移动计算设备1200包括附加的(可移动的和/或不可移动的)数据存储设备,例如磁盘、光盘或磁带。在图12b中由非易失性存储区域1268示出了这样的附加存储。

根据一个方面,如在上文中所描述的,将由移动计算设备1200所生成或捕获的、并且经由系统1202所存储的数据/信息本地地存储在移动计算设备1200上。根据另一方面,将数据存储在任何数量的存储介质上,所述存储介质能够由设备经由无线电单元1272来访问,或者经由移动计算设备1200与关联于移动计算设备1200的单独计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接来访问。应当理解,可以经由移动计算设备1200、经由无线电单元1272、或经由分布式计算网络来访问这样的数据/信息。类似地,根据一个方面,根据公知的数据/信息传输和存储方式(包括电子邮件和协同数据/信息共享系统),这样的数据/信息可以容易地在计算设备之间传输以供存储和使用。

图13示出了系统的架构的一个示例,其用于如上所述的对重复内容的块的自动呈现。与eae180相关联地开发、交互或编辑的内容被使得存储在不同的通信信道或者其它存储类型中。例如,可以使用目录服务1322、门户网站1324、邮箱服务1326、即时消息传送存储1328、或社交网站1330来存储各种文档。eae180可操作用于将这些类型系统等中的任何一个系统用于分发所选择的内容,如在本文中所描述的。根据一个方面,服务器1320将eae180提供至客户端1305a-c(概括地,客户端1305)。作为一个示例,服务器1320是在web上提供eae180的web服务器。服务器1320通过网络1340将eae180在web上提供至客户端1305。作为示例,客户端计算设备被实现和实施在个人计算机1305a、平板计算设备1305b、或移动计算设备1305c(例如,智能电话)、或其它计算设备中。客户端计算设备的这些示例中的任何示例可操作用于从存储1316获得内容。

例如,以上参考根据多个方面的方法、系统和计算机程序产品的框图和/或操作示图而描述了实现。在方框中所注释的功能/操作可以不按照在任何流程图中所示出的顺序来进行。例如,取决于所涉及的功能/操作,连续示出的两个方框可以实际上实质同时地执行,或者这些方框有时可以以相反的顺序执行。

在该申请中所提供的一个或多个示例的描述或示图不旨在以任何方式限制或约束所要求保护的范围。在该申请中所提供的方面、示例和细节被认为足以传达所有物,并且使得其他人能够制造并使用最优模式。实现不应该被解释为局限于在该申请中所提供的任何方面、示例或细节。无论是共同地还是单独地示出或描述,(结构上和方法上两者的)各种特征旨在被择性地包括或省略,以产生具有特定一组特征的示例。在已经被提供了本申请的描述和图示之后,本领域技术人员可以预想到落入该申请中实施的一般创新性概念的更宽泛方面的精神内的、不脱离本公开的更宽泛范围的变型、修改和替代示例。

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