CN110235097B - 用于着墨应用用户界面的可反转数字墨水 - Google Patents

用于着墨应用用户界面的可反转数字墨水 Download PDF

Info

Publication number
CN110235097B
CN110235097B CN201880009747.XA CN201880009747A CN110235097B CN 110235097 B CN110235097 B CN 110235097B CN 201880009747 A CN201880009747 A CN 201880009747A CN 110235097 B CN110235097 B CN 110235097B
Authority
CN
China
Prior art keywords
inking
inking input
path
input
ink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880009747.XA
Other languages
English (en)
Other versions
CN110235097A (zh
Inventor
E·德兰
D·帕里什
T·R·亚当斯
L·T·哈特菲尔德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110235097A publication Critical patent/CN110235097A/zh
Application granted granted Critical
Publication of CN110235097B publication Critical patent/CN110235097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文公开了用于在应用的用户界面中支持可反转墨水的***、方法和软件。在一种实施方式中,应用在应用的用户界面中的画布上接收着墨输入。应用沿着着墨输入所采用的路径在画布上呈现墨水,并监测着墨输入以沿着路径反转方向。响应于着墨输入沿着路径反转方向,应用从画布上擦除至少一部分墨水。

Description

用于着墨应用用户界面的可反转数字墨水
背景技术
数字着墨已经成为许多软件应用中的流行特征。在许多情况下,在应用的用户界面中提供画布,经由所述用户界面,用户可以通过触笔、鼠标或触摸手势来提供着墨输入。着墨功能为用户提供了一种与应用交互的简单而自然的方式。
擦除器模式是许多着墨实施方式的一个子特征。当以擦除器模式操作时,用户可以以与从纸上擦除铅笔非常类似的方式擦除先前在画布上放置的墨水。用户可能需要执行显式动作以从绘制模式进入擦除器模式,例如从特征菜单中选择该模式,选择触笔上的按钮,或翻转触笔以使用触笔上的数字擦除器元件。
通常,这种显式动作隐含地要求在进入擦除器模式的显式动作之前进行笔向上(pen-up)动作。不幸的是,这可能会使用户脱离创意流程,并且从更加技术角度来看可能还有其他缺点。例如,一些应用在发生笔向上动作时将墨水提交给持久存储设备,因此需要相对处理器密集的操作来擦除任何墨水。
发明内容
本文公开了允许终端用户通过沿着输入所采用的路径反转方向来擦除着墨输入的至少一部分的技术。在一种实施方式中,应用在应用的用户界面中的画布上接收着墨输入。应用沿着着墨输入所采用的路径在画布上渲染墨水,并监测着墨输入以沿着路径反转方向。响应于着墨输入沿着路径反转方向,应用从画布上擦除至少一部分墨水。在一些实施方式中,这种能力可以被非正式地称为可反转墨水。
提供前述概述是为了以简化的形式介绍对将在下面的技术公开中进一步描述的构思的选择。可以理解,该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参考以下附图可以更好地理解本公开的许多方面。虽然结合这些附图描述了若干实施方式,但是本公开不限于本文公开的实施方式。相反,其目的是涵盖所有替代方案、修改和等同物。
图1示出了可反转墨水的一种实施方式中的操作环境和相关操作场景。
图2示出了一种实施方式中的着墨过程。
图3示出了一种实施方式中的另一着墨过程。
图4示出了一种实施方式中的时序图。
图5示出了一种实施方式中的另一时序图。
图6示出了一种实施方式中的另一时序图。
图7示出了一种实施方式中的软件架构。
图8示出了适用于实现本文公开的软件技术的计算***,包括附图中示出的以及下面在技术公开中讨论的应用、架构、元素、过程、以及操作场景和序列中的任何一者。
具体实施方式
本文公开了支持软件应用中的可反转墨水特征的技术。在一种实施方式中,用户能够简单地通过相对于着墨输入反转方向来反转在画布上渲染的墨水。当用户通过触笔、鼠标、触摸手势或其他合适的输入机制提供着墨输入时,墨水沿着路径在画布上渲染。同时,应用监测用户以沿着路径反转方向,响应于此,可以擦除路径上的至少一些墨水。
在一些实施方式中,可以在单个连续运动中提供着墨输入,在所述单个连续运动中,着墨器具针对整个输入接触画布。例如,用户可以在画布上进行器具向下动作以开始着墨运动。当用户绘制线条、形状或其他这样的对象时,运动可以沿着路径在前进方向上行进,但是然后可以在不拾取绘制器具的情况下反转方向。当用户沿着路径在相反方向上进行运动时,先前放置的墨水可以被从画布“拾取”或擦除。用户可以再次改变方向,在这种情况下可以再次渲染墨水。
在其他实施方式中,可以以多个离散运动提供着墨输入,在所述多个离散运动中,墨水器具在一个或多个笔划之间被抬起离开画布。例如,用户可以在画布上进行器具向下动作以开始着墨动作。当用户绘制线条、形状或其他这样的对象时,运动可以在前进方向上行进,以器具向上动作结束。然后,用户可以以从另一器具向下动作开始,沿着路径在相反方向上开始新的运动。当用户沿着路径在相反方向上进行运动时,先前放置的墨水可以被从画布上擦除。用户可以再次改变方向,在这种情况下,着墨可以沿着相同的路径或者可能是用户采用的新路径被再次渲染。
从本讨论可以领会的技术效果是用户可以更容易地擦除画布上的墨水。用户可以简单地反转绘制在画布上的墨水上的路线,而不是必须执行显式动作来启用输入器具的擦除模式。在墨水仍处于临时或“湿润”状态的一些实施方式中,由于墨水不需要以提交的或“干燥”状态处理,因此这种能力可能是处理器密集度较低的。
在一些实施方式中,可以针对由应用提供的虚拟模板工具来提供着墨输入。利用虚拟模板,例如标尺或量角器,终端用户可以绘制由模板引导的线。用户可以简单地沿着模板反转方向,以便擦除刚刚放置的墨水。因此,通过本文公开的可反转墨水能力增强了模板,这是因为用户不需要移动、拾取或以其他方式移位模板来擦除在其附近绘制的数字墨水。
图1示出了增强型数字着墨的一种实施方式中的操作环境100。操作环境100包括应用103在其上运行的计算***101。应用103在用户界面105中产生视图的上下文中采用着墨过程200。视图110表示可以由应用103在用户界面105中产生的视图。
计算***101表示能够在本机地或在web浏览器的上下文中运行应用,流式传输应用,或以任何其他方式执行应用的任何设备。计算***101的示例包括但不限于个人计算机、移动电话、平板计算机、台式计算机、膝上型计算机、可穿戴计算设备或任何其他形状因子,包括计算机或其变型的任何组合。计算***101可以包括适用于提供应用103的支持架构中的各种硬件和软件元素。图8中关于计算***801示出了一个这样的代表性架构。
应用103表示能够根据本文所述的过程反转墨水的任何软件应用或应用组件。应用103的示例包括但不限于演示应用、图表应用、计算机辅助设计应用、生产力应用(例如,文字处理器或电子表格应用)、以及任何其他类型的组合或变型。应用103可以被实现为本机安装和执行的应用、托管在浏览器上下文中的Web应用、流式传输地或流式传输应用、移动应用或其任何变型或组合。
视图110表示可以由演示应用产生的视图,例如来自
Figure BDA0002152388720000041
Figure BDA0002152388720000042
尽管图1中关于视图110示出的动态可以应用于任何其他合适的应用。视图110包括画布111,用户可以在画布111上使用触笔112例如绘制线条、形状或对象,或者提供手写文字。触笔112表示一种输入器具,尽管其他器具也是可能的,例如鼠标设备和触摸手势,以及任何其他合适的输入设备。
终端用户可以与应用103交互以在画布111上产生流程图、图表、基本布局图或任何其他类型的呈现。用户可以在画布上绘制自由形状的线条,书写文本或以其他方式创建对象,以促成给定的呈现、幻灯片放映、文档、图表或其他这样的内容。
在增强方式中,应用103通过简单地反转画布上的输入笔划的方向来提供在画布上反转墨水的能力。在一些实施方式中,可以仅利用单个输入运动来执行着墨反转,而在其他实施方式中,可以执行多个输入运动。
更具体地,图2示出了着墨过程200,如上所述,着墨过程200可以由应用103采用以允许如本文所述擦除着墨。在用于执行可反转着墨特征的应用的一个或多个组件的上下文中,着墨过程200的一些或所有步骤可以用程序指令实现。在图1的上下文中插话地参考图2中的步骤,程序指令指导应用103如下操作。
在操作中,着墨输入113经由用户界面105,通过用户利用触笔112在画布111上绘制来提供并由应用103接收(步骤201)。着墨输入113可以以器具向下动作开始,然后在前进方向上在画布111上行进。墨水115几乎在着墨输入113行进时的瞬间在画布111上渲染(步骤203),尽管未示出这种增量转换。
应用103持续监测着墨输入113以沿着其路径反转方向(步骤205)。如果用户没有反转其方向,则着墨输入113被继续接收并渲染。然而,如果其方向被反转,则沿着路径的至少一部分墨水被从画布111上擦除(步骤207)。
在这种场景中,在笔划将要结束时,用户决定擦除由着墨输入113产生的墨水115的一部分。因此,用户在相反方向移动触笔112并且回扫着墨输入113行进的路径的一部分。换句话说,着墨输入113的方向被反转。该动作向应用103示意以擦除墨水115中的由着墨输入113在相反方向上回扫的部分。因此,在用户不必改变输入模式的情况下,由着墨输入113的反向运动覆盖的墨水子集被从画布111中移除。
图3示出了可以由应用103采用的另一可反转着墨过程。在一些实施方式中,可以与着墨过程200协作使用着墨过程300。在其他实施方式中,着墨过程300中的一些或所有步骤可以与着墨过程200的那些步骤集成。在应用103的一个或多个组件的上下文中,着墨过程300的一些或所有步骤可以用程序指令实现。插话地参考图3中的步骤,程序指令指导应用103如下操作。
在操作中,当用户使用触笔112(或任何其他合适的输入机制)在画布111上绘制时,应用103接收着墨输入113(步骤301)。当触笔112跟踪路径时,应用103在画布111上渲染墨水(步骤303)。
应用103监测着墨输入以确定路径是否已经被回扫(步骤305)。在一个示例中,应用103可以将画布111上的由着墨输入产生的输入坐标的位置与先前在画布111上放置的墨点的位置进行比较。另外,可以确定给定输入坐标或一组坐标的方向矢量。如果坐标彼此相同或在阈值距离内,并且如果方向矢量指示输入坐标相对于墨点的相反方向,则可以认为着墨输入已经反转方向。
在确定着墨输入113已经反转方向的情况下,应用103接下来确定回扫是否在阈值量时间内发生(步骤307)。如果不是,则应用103继续渲染与着墨输入相对应的墨水。然而,如果反转确实在阈值量时间内发生,则应用103拾取或以其他方式擦除由新着墨输入覆盖的先前放置的墨点(步骤309)。
实际上,可以立即从画布111消失,就像它们起初从未被绘制一样。在一些实施方式中,被擦除的墨水的轮廓或重影渲染(ghost-rendering)可以被渲染来代替实际的墨水,以便向用户提供关于被擦除的内容的提示。重影渲染可以持续直到它被绘制覆盖或在一定量的时间之后过期。
图4示出了用于演示器具方向401、器具状态403和器具模式405之间的关系的一种实施方式中的时序图400。时序图400表示器具状态和器具方向如何如本文所设想的那样驱动可反转墨水。图4特别表示以单个运动提供着墨输入的场景。
时序图400包括根据时间间隔t0-10定义的x轴。y轴包括给定场景中的绘制触笔的各种表示。首先,示出了器具方向401。任何给定时间的绘制器具可以在前进方向上、在相反方向上(相对于前进方向)、或在无方向(空值)上移动。接下来,示出器具状态403。给定的器具可以在画布上处于笔向上状态或笔向下(pen-down)状态。最后,示出了器具模式505。器具可以处于擦除模式、绘制模式或空值。
器具模式是基于器具状态和器具方向作为输入的输出。如果器具正在前进方向上移动并且如果器具状态为向下,则器具处于绘制模式。然而,如果在器具状态为向下的同时器具正在反向移动,则器具将转换为擦除模式。如果器具处于笔向上状态,则其方向为空值并且器具模式为空值(或最近模式)。
在这种场景中,触笔在笔向下的情况下在前进方向上开始其运动。因此,它处于绘制模式并且墨水将在画布上浮现。然而,在时间t7附近,器具反转方向并且可能回扫先前放置的路径。当触笔保持笔向下状态时,其模式转换为擦除,并且墨点可以被从画布上擦除。
图5示出了用于演示器具方向501、器具状态503和器具模式505之间的关系的但是是关于在多个运动中提供的着墨输入的一种实施方式中的另一时序图。时序图500包括根据时间间隔t0-10定义的x轴。y轴包括给定场景中的绘制触笔的各种表示。
首先,示出了器具方向501。任何给定时间的绘制器具可以在前进方向上、在相反方向上(相对于前进方向)、或在无方向(空值)上移动。接下来,示出了器具状态503。给定的器具可以在画布上处于笔向上状态或笔向下状态。最后,示出了器具模式505。器具可以处于擦除模式、绘制模式或空值。
器具模式是基于器具状态和器具方向作为输入的输出。如果器具正在前进方向上移动并且如果器具状态为向下,则器具处于绘制模式。然而,如果在器具状态为向下的同时器具正在反向移动,则器具将转换为擦除模式。如果器具处于笔向上状态,则其方向为空值并且器具模式为空值(或最近模式)。
在这种场景中,触笔在笔向下的情况下在前进方向上开始其运动。因此,它处于绘制模式并且墨水将在画布上浮现。然而,在时间t6附近,器具被抬起离开画布并进入笔向上状态。因此,器具方向为空值,尽管触笔可以保持绘制状态。
然而,此后不久,器具被放回到画布上并在相对于前进方向的相反方向上移动。出于示例性目的,可以假设触笔回扫先前放置的路径中的一些路径。在相反方向和笔向下的情况下,器具模式改变为擦除,从而导致沿着路径的墨点被擦除。
图6示出了用于演示器具方向601、器具状态603和器具模式606之间的关系的但是是关于在单个运动中提供着墨输入的一种实施方式中的又一时序图。然而,在这种场景中,器具模式605通过两次改变而转换,而不是前面图示中的仅通过一次改变来转换。
时序图600包括根据时间间隔t0-10定义的x轴。y轴包括给定场景中的绘制触笔的各种表示。首先,示出了器具方向601。任何给定时间的绘制器具可以在前进方向上、在相反方向上(相对于前进方向)、或在无方向(空值)上移动。接下来,示出了器具状态603。给定的器具可以在画布上处于笔向上状态或笔向下状态。最后,示出了器具模式605。器具可以处于擦除模式、绘制模式或空值。
器具模式是基于器具状态和器具方向作为输入的输出。如果器具正在前进方向上移动并且如果器具状态为向下,则器具处于绘制模式。然而,如果在器具状态为向下的同时器具正在反向移动,则器具将转换为擦除模式。如果器具处于笔向上状态,则其方向为空值并且器具模式为空值(或最近模式)。
在这种场景中,触笔在笔向下的情况下在前进方向上开始其运动。因此,它处于绘制模式并且墨水将在画布上浮现。然而,在时间t2之后不久,器具就反转方向(并且可能保持在路径上)。当触笔保持在笔向下状态时的方向反转将其模式转换为擦除。因此,当触笔沿着路径在相反方向上前进时,墨点可以被从画布上擦除。
然而,此后不久,器具再次反转方向,同时保持在路径上,因此可以认为器具再次在前进方向上移动。第二次反转导致触笔自动转换到绘制模式,并且墨水可以沿着与触笔向前移动的路径相同的路径被放置。
在又一次反转中,用户再次反转着墨输入,这使得触笔转换回擦除模式。在触笔沿着路径在相反方向上继续的同时,墨点再次被擦除。
最终,用户使触笔完全移开路径。转换到新路径既不能认为是在前进方向上也不能认为是在相反方向上。确切地说,新路径采用其自身的方向,所述方向此后为了检测反向运动而成为“前进”方向。当触笔在新路径上行进时,墨点在画布上被渲染,直到笔向上事件为止。
图7示出了可以在可反转墨水的一种实施方式中采用的软件架构700。软件架构700包括湿墨组件701和干墨组件703。湿墨组件701表示可以在用户界面中提供画布并在笔输入被提供给画布时收集笔输入的一个或多个软件组件。湿墨组件701还可以在画布上以“湿”状态并且与笔输入相对应地渲染墨水或从其中擦除墨水。处于湿状态的墨水是一种尚未被移交给干墨组件以便在文档、文件、笔记本或其他这样的数据结构中持久存储的对象(例如,自由形状的线条)。湿墨组件701可以用作操作***层的子层,尽管在一些场景中它可以被包括在应用层中。
干墨组件703表示一个或多个软件组件,其可以获取由湿墨层报告的墨点并且将它们持久存储在文件、文档、笔记本或其他这样的数据结构中的对象的上下文中。干墨组件703可以用作应用的子层,尽管在一些实施方式中它也可以用在操作***层的上下文中。
在操作中,笔输入由湿墨组件701接收。相应的墨点由湿墨组件701在画布上渲染,以便在画布上给出数字着墨的视觉效果。
墨点周期性地(或以一些其他间隔)被传送到干墨组件703。然而,在同一时间(或基本上同一时间),湿墨组件701可以接收指示反向运动的笔输入。因此,湿墨组件701立即擦除响应于先前笔输入而绘制的至少一些墨点。湿墨组件701还向干墨组件703传送“忽略”指令,以向该组件警告一些墨点被擦除的事实。
干墨组件703在将墨点提交给对象之前运行检查循环。该循环检查自上次持久存储操作以来是否已经从湿墨组件701接收到忽略指令。如果尚未接收到指令,则干墨组件可以将先前接收的墨点提交给它们的对象。然而,如果已经接收到忽略指令,则干墨组件703可以采取各种动作之一。
在一种选择中,干墨组件703可以避免持久存储由湿墨组件701提供给它的任何墨点。确切地说,干墨组件703可以简单地等待将由湿墨组件701发送的下一组墨点。在这种场景中,湿墨组件701将与干墨组件703协调,使得它知道将所有必要的墨点重新发送到干墨组件703。
在另一种选择中,干墨组件703可以仅提交由湿墨组件701提供的墨点的子集。未被持久存储的剩余墨点将是由湿墨组件701进行擦除操作的那些墨点。然而,该选项还需要与湿墨组件701充分协调,这是因为需要向干墨组件703标识被擦除的特定墨点。
大多数对象最终由干墨组件703以干燥状态渲染。例如,在画布、视图、文档、笔记本或其他这样的数据结构的较大上下文中,部分擦除的自由形状的线条最终由干墨组件703持久存储到对象模型。可以将自由形状的线条的渲染移交给干墨组件703,使得可以由湿墨组件701处理新笔输入的渲染。
图8示出了计算***801,其表示在其中可以实现本文公开的各种应用、架构、服务、场景和过程的任何***或***集合。计算***801的示例包括但不限于台式计算机、膝上型计算机、平板计算机、具有混合形状因子的计算机、移动电话、智能电视、可穿戴设备、服务器计算机、刀片服务器、机架服务器、以及适用于执行本文所述的可反转墨水操作的计算***(或其集合)。在可反转墨水的上下文中,这样的***可以采用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源。
计算***801可以实现为单个装置、***或设备,或者可以以分布式方式实现为多个装置、***或设备。计算***801包括但不限于处理***802、存储***803、软件805、通信接口***807和用户接口***809。处理***802操作性地与存储***803、通信接口***807和用户接口***809耦合。
处理***802从存储***803加载并执行软件805。软件805包括应用806,其表示关于前面的图1-7讨论的软件应用,包括应用103。当由处理***802执行以在用户界面中支持可反转墨水时,应用806指导处理***802如本文所述地至少针对在前述实施方式中讨论的各种过程、操作场景和序列进行操作。计算***801可以可选地包括为简洁起见未讨论的附加设备、特征或功能。
仍然参考图8,处理***802可以包括微处理器和从存储***803检索和执行软件805的其他电路。处理***802可以在单个处理设备内实现,但也可以分布在在执行程序指令时协作的多个处理设备或子***中。处理***802的示例包括通用中央处理单元、专用处理器和逻辑设备,以及任何其他类型的处理设备、其组合或变型。
存储***803可以包括可由处理***802读取并且能够存储软件805的任何计算机可读存储介质。存储***803可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储设备或其他磁存储设备或任何其他合适的存储介质。在任何情况下,计算机可读存储介质都不是传播信号。
除了计算机可读存储介质之外,在一些实施方式中,存储***803还可以包括计算机可读通信介质,通过所述计算机可读通信介质,可以在内部或外部传送至少一些软件805。存储***803可以实现为单个存储设备,但也可以跨相对于彼此共处或分布的多个存储设备或子***实现。存储***803可以包括能够与处理***802或可能的其他***通信的附加元件,例如控制器。
软件805(一般而言)和应用806(具体而言)可以用程序指令中实现,并且除了其它功能之外,在由处理***802执行时,可以指导处理***802如关于本文说明的各种操作场景、序列及过程所描述的那样进行操作。例如,应用806可以包括用于实现可反转墨水过程(例如,着墨过程200和300)的程序指令。
具体地,程序指令可以包括协作或以其他方式交互以执行本文描述的各种过程和操作场景的各种组件或模块。各种组件或模块可以体现在编译或解释的指令中,或者体现在一些其他变型或指令的组合中。各种组件或模块可以以同步或异步方式、串行或并行、在单线程环境或多线程中或根据任何其他合适的执行范例、变型或其组合来执行。除了或包括应用806之外,软件805可以包括附加的过程、程序或组件,例如操作***软件、虚拟机软件或其他应用软件。软件805还可以包括固件或处理***802可执行的一些其他形式的机器可读处理指令。
通常,应用806在被加载到处理***802中并且被执行时,可以将合适的装置、***或设备(其中计算***801是代表性的)整体从通用计算***变换为定制以执行可反转墨水操作的专用计算***。实际上,在存储***803上编码应用806可以变换存储***803的物理结构。物理结构的特定变换可以取决于本说明书的不同实施方式中的各种因素。这些因素的示例可以包括但不限于用于实现存储***803的存储介质的技术以及计算机存储介质是否被表征为主存储或二级存储,以及其他因素。
例如,如果计算机可读存储介质被实现为基于半导体的存储器,则应用806可以在程序指令被编码在其中时变换半导体存储器的物理状态,例如通过变换晶体管、电容器或构成半导体存储器的其他分立电路元件的状态。对于磁性或光学介质可能发生类似的变换。在不脱离本说明书的范围的情况下,物理介质的其他变换是可能的,提供前述示例仅仅是为了便于本讨论。
通信接口***807可以包括通信连接和设备,其允许通过通信网络(未示出)与其他计算***(未示出)通信。一起允许***间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、RF电路、收发器和其他通信电路。连接和设备可以通过通信介质进行通信,以与其他计算***或***网络(例如,金属、玻璃、空气或任何其他合适的通信介质)交换通信。上述介质、连接和设备是众所周知的,这里不需要详细讨论。
用户接口***809可以包括键盘、触笔(数字笔)、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户的非触摸手势和其他运动的运动输入设备用户以及能够从用户接收用户输入的其他类似输入设备和相关联的处理元件。诸如显示器、扬声器、触觉设备和其他类型的输出设备之类的输出设备也可以包括在用户接口***809中。在一些情况下,输入和输出设备可以组合在单个设备中,例如能够显示图像和接收触摸手势的设备。上述用户输入和输出设备在本领域中是公知的,这里不需要详细讨论。
用户接口***809还可以包括可由处理***802执行的相关联的用户界面软件,以支持上面讨论的各种用户输入和输出设备。用户界面软件和用户界面设备可以单独地或彼此结合以及与其他硬件和软件元件结合来支持其中应用的用户界面可以呈现的图形用户界面、自然用户界面或任何其他类型的用户界面(例如,用户界面105)。
计算***801与其他计算***(未示出)之间的通信可以在一个或多个通信网络上并且根据各种通信协议、协议的组合或其变型而发生。示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板或任何其他类型的网络、网络组合或它们的变型。上述通信网络和协议是众所周知的,这里不需要详细讨论。
附图中提供的功能框图、操作场景和序列、以及流程图表示用于执行本公开的新颖方面的示例性***、环境和方法。虽然为了简化解释的目的,这里包括的方法可以是功能图、操作场景或序列、或流程图的形式,并且可以被描述为一系列动作,但应该理解并领会,方法不受行为顺序的限制,这是因为根据此,一些行为可以以不同的顺序发生和/或与本文所示和所述的其他行为同时发生。例如,本领域技术人员将理解并领会,方法可以替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,并非方法中所示的所有行为都可能是新颖实施方式所必需的。
本文包括的描述和附图描绘了教导本领域技术人员如何制作和使用最佳选项的具体实施方式。出于教导发明原理的目的,已经简化或省略了一些传统方面。本领域技术人员将领会落入本发明范围内的这些实施方式的变型。本领域技术人员还将领会,上述特征可以以各种方式组合以形成多个实施方式。作为结果,本发明不限于上述具体实施方式,而是仅由权利要求及其等同物限制。

Claims (15)

1.一种计算装置,包括:
一个或多个计算机可读存储介质;
处理***,其操作性地与所述一个或多个计算机可读存储介质耦合;以及
存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令当由所述处理***执行时,指导所述处理***至少进行以下操作:
在应用的用户界面中的画布上接收着墨输入;
沿着所述着墨输入所采用的路径在所述画布上渲染处于湿状态的墨水;
将所述着墨输入传送给干墨组件以进行持久存储;
监测所述着墨输入是否沿着所述路径反转方向;以及
响应于所述着墨输入沿着所述路径反转所述方向,从所述画布上擦除处于湿状态下的所述墨水的至少一部分并且将忽略指令传送给所述干墨组件。
2.如权利要求1所述的计算装置,其中,所述程序指令还指导所述处理***:监测所述着墨输入以再次反转所述方向,以及响应于所述着墨输入再次反转所述方向,沿着所述着墨输入所采用的新路径继续在所述画布上渲染所述墨水。
3.如权利要求1所述的计算装置,其中,所述着墨输入仅包括单个着墨运动,所述单个着墨运动以器具向下动作开始并以器具向上动作结束,在其间持续地接触所述画布。
4.如权利要求1所述的计算装置,其中,所述着墨输入包括多个着墨运动,所述多个着墨运动中的每个着墨运动以器具向下动作开始,以器具向上动作结束,并且在其间持续地接触所述画布。
5.如权利要求1所述的计算装置,其中,为了监测所述着墨输入以沿着所述路径反转所述方向,所述程序指令指导所述处理***:监测所述着墨输入以在反转所述方向之后回扫所述路径的最后部分。
6.如权利要求5所述的计算装置,其中,所述程序指令还指导所述处理***:监测所述着墨输入,以在反转所述方向之后的阈值量时间内回扫所述路径的所述最后部分。
7.如权利要求6所述的计算装置,其中,为了监测所述着墨输入以回扫所述路径的所述最后部分,所述程序指令指导所述处理***:监测所述着墨输入以在距所述路径的阈值距离内行进。
8.如权利要求1所述的计算装置,其中,触笔贯穿整个所述着墨输入以绘制模式提供所述着墨输入。
9.一种操作应用以支持可反转墨水特征的方法,所述方法包括:
在所述应用的用户界面中的画布上接收着墨输入;
沿着所述着墨输入所采用的路径在所述画布上渲染处于湿状态的墨水;
将所述着墨输入传送给干墨组件以进行持久存储;
监测所述着墨输入是否沿着所述路径反转方向;以及
响应于所述着墨输入沿着所述路径反转所述方向,从所述画布上擦除处于湿状态下的所述墨水的至少一部分并且将忽略指令传送给所述干墨组件。
10.如权利要求9所述的方法,还包括:监测所述着墨输入以再次反转所述方向,以及响应于所述着墨输入再次反转所述方向,沿着所述着墨输入所采用的新路径继续在所述画布上渲染所述墨水。
11.如权利要求9所述的方法,其中,所述着墨输入仅包括单个着墨运动,所述单个着墨运动以器具向下动作开始并且以器具向上动作结束,在其间持续地接触所述画布。
12.如权利要求11所述的方法,其中,所述着墨输入包括多个着墨运动,所述多个着墨运动中的每个着墨运动以器具向下动作开始,以器具向上动作结束,并且在其间持续地接触所述画布。
13.如权利要求9所述的方法,其中,监测所述着墨输入以沿着所述路径反转所述方向包括:监测所述着墨输入以在反转所述方向之后回扫所述路径的最后部分。
14.如权利要求13所述的方法,还包括:监测所述着墨输入以在反转所述方向之后的阈值量时间内回扫所述路径的所述最后部分。
15.如权利要求14所述的方法,其中,监测所述着墨输入以回扫所述路径的所述最后部分包括:监测所述着墨输入以在距所述路径的阈值距离内行进。
CN201880009747.XA 2017-02-03 2018-01-29 用于着墨应用用户界面的可反转数字墨水 Active CN110235097B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/424,276 US10162518B2 (en) 2017-02-03 2017-02-03 Reversible digital ink for inking application user interfaces
US15/424,276 2017-02-03
PCT/US2018/015653 WO2018144366A1 (en) 2017-02-03 2018-01-29 Reversible digital ink for inking application user interfaces

Publications (2)

Publication Number Publication Date
CN110235097A CN110235097A (zh) 2019-09-13
CN110235097B true CN110235097B (zh) 2022-08-30

Family

ID=61768411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880009747.XA Active CN110235097B (zh) 2017-02-03 2018-01-29 用于着墨应用用户界面的可反转数字墨水

Country Status (4)

Country Link
US (1) US10162518B2 (zh)
EP (1) EP3552089B1 (zh)
CN (1) CN110235097B (zh)
WO (1) WO2018144366A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6546455B2 (ja) * 2015-06-12 2019-07-17 シャープ株式会社 イレーサ装置および指示入力システム
US10817169B2 (en) * 2016-10-14 2020-10-27 Microsoft Technology Licensing, Llc Time-correlated ink
CN111046638B (zh) * 2018-10-12 2022-06-28 北京金山办公软件股份有限公司 一种墨迹清除的方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509114A (en) * 1993-12-30 1996-04-16 Xerox Corporation Method and apparatus for correcting and/or aborting command gestures in a gesture based input system
US7609278B1 (en) * 2003-07-31 2009-10-27 Adobe Systems Incorporated Detecting backward motion represented by a path
CN105683994A (zh) * 2013-10-28 2016-06-15 微软技术许可有限责任公司 针对降低延迟的数字着墨的湿墨纹理引擎
CN107003908A (zh) * 2014-09-29 2017-08-01 微软技术许可有限责任公司 低延时墨渲染管线
CN107735758A (zh) * 2015-06-29 2018-02-23 微软技术许可有限责任公司 同步数字墨水笔划呈现

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001143095A (ja) 1999-11-16 2001-05-25 Hitachi Ltd 曲線入力方法
US7123770B2 (en) 2002-05-14 2006-10-17 Microsoft Corporation Incremental system for real time digital ink analysis
US7259752B1 (en) 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
CN101111817B (zh) 2005-01-30 2011-05-04 斯威福波音特有限公司 电脑鼠标周边装置
US8116570B2 (en) 2007-04-19 2012-02-14 Microsoft Corporation User interface for providing digital ink input and correcting recognition errors
US8116569B2 (en) 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
US20140198082A1 (en) 2013-01-15 2014-07-17 Research In Motion Limited Method for correcting real and digital ink
US20160299606A1 (en) * 2013-12-05 2016-10-13 Widevantage Inc. User input processing device using limited number of magnetic field sensors
US9916017B2 (en) 2014-07-03 2018-03-13 Adobe Systems Incorporated Smart eraser to erase digital strokes
US10133368B2 (en) 2014-12-23 2018-11-20 Lenovo (Singapore) Pte. Ltd. Undo operation for ink stroke conversion

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509114A (en) * 1993-12-30 1996-04-16 Xerox Corporation Method and apparatus for correcting and/or aborting command gestures in a gesture based input system
US7609278B1 (en) * 2003-07-31 2009-10-27 Adobe Systems Incorporated Detecting backward motion represented by a path
CN105683994A (zh) * 2013-10-28 2016-06-15 微软技术许可有限责任公司 针对降低延迟的数字着墨的湿墨纹理引擎
CN107003908A (zh) * 2014-09-29 2017-08-01 微软技术许可有限责任公司 低延时墨渲染管线
CN107735758A (zh) * 2015-06-29 2018-02-23 微软技术许可有限责任公司 同步数字墨水笔划呈现

Also Published As

Publication number Publication date
US10162518B2 (en) 2018-12-25
EP3552089A1 (en) 2019-10-16
EP3552089B1 (en) 2022-05-25
US20180225037A1 (en) 2018-08-09
WO2018144366A1 (en) 2018-08-09
CN110235097A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
US20150082238A1 (en) System and method to display and interact with a curve items list
US9569107B2 (en) Gesture keyboard with gesture cancellation
KR20210038446A (ko) 제스처를 기반으로 전자기기를 제어하는 방법 및 장치
CN110235097B (zh) 用于着墨应用用户界面的可反转数字墨水
US10438385B2 (en) Generating ink effects for a digital ink stroke
JP2015146177A (ja) 入力装置
CN102760026A (zh) 一种触摸屏界面显示方法、显示装置及一种触摸屏设备
US10013156B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium
CN105824531A (zh) 数值调整方法及装置
US9588678B2 (en) Method of operating electronic handwriting and electronic device for supporting the same
WO2012071730A1 (en) Method, apparatus, and computer program product for overlapped handwriting
CN102768597B (zh) 一种操作电子设备的方法及装置
US20150130761A1 (en) Method and apparatus for allocating computing resources in touch-based mobile device
US20140104201A1 (en) Electronic apparatus and handwritten document processing method
US10565299B2 (en) Electronic apparatus and display control method
EP2965181B1 (en) Enhanced canvas environments
US9747708B2 (en) Method for generating writing data and an electronic device thereof
CN106155313A (zh) 移动终端、字符输入***及方法
CN106598928B (zh) 一种在显示屏上进行批注的方法及其***
CN105278751A (zh) 一种实现人机交互的方法、装置及保护壳
CN111984151B (zh) 一种提高处理效率的白板画布大小、位置漫游控制方法
CN108885556B (zh) 控制数字输入
KR20150024213A (ko) 윈도우 영역 조정 방법 및 그에 따른 전자 장치
CN104615342A (zh) 一种信息处理方法及电子设备
CN104238921A (zh) 一种自定义多边形的绘制方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant