CN100481062C - 墨水收集和再现 - Google Patents

墨水收集和再现 Download PDF

Info

Publication number
CN100481062C
CN100481062C CNB03801758XA CN03801758A CN100481062C CN 100481062 C CN100481062 C CN 100481062C CN B03801758X A CNB03801758X A CN B03801758XA CN 03801758 A CN03801758 A CN 03801758A CN 100481062 C CN100481062 C CN 100481062C
Authority
CN
China
Prior art keywords
ink
objects
incident
reproduce
canvas
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.)
Expired - Lifetime
Application number
CNB03801758XA
Other languages
English (en)
Other versions
CN1656473A (zh
Inventor
A·希弗曼
S·乔治
S·索姆吉
R·巴拉滋
K·卡托
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN1656473A publication Critical patent/CN1656473A/zh
Application granted granted Critical
Publication of CN100481062C publication Critical patent/CN100481062C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Abstract

描述了一种用于捕获和再现墨水的系统和过程。墨水画布对象可包含空的、一个、或多个对象或元素,并可规定对象或元素的z轴顺序。墨水画布对象可作为各种对象或元素的宿主,并因此向对象或元素提供墨水功能,即使它们本身并不具有墨水功能。

Description

墨水收集和再现
技术领域
本发明的诸方面涉及信息捕获和再现。具体来说,本发明的诸方面涉及电子墨水的捕获和再现。
背景技术
比起信息的文本表示来说,人们常常更依赖于信息的图形表示。他们宁愿看一幅图而不是看与该幅图相当的文本块。例如,当改造厨房或浴室时,户主可能从杂志上剪切图片来向承造者确切地显示出所希望的是什么。相同材料的文本说明常常不足以达到要求。户主可能使用的工具并不比剪刀复杂。
然而,在计算领域中,试图捕获和传递相同的内容是麻烦的。典型的计算机系统不提供用于捕获和传递图形密集型内容的简易接口。相反,它们被优化用于捕获和再现文本。例如,典型的计算机系统,特别是使用诸如微软WINDOWS之类的图形用户界面(GUI)系统的计算机系统,它们被优化用于接收来自一个或多个分立的输入设备和指点设备的用户输入,输入设备例如用于输入文本的键盘,指点设备例如具有用于驱动用户界面的一个或多个按键的鼠标。
某些计算系统通过允许使用触笔向系统输入信息,扩展了用户可使用的输入和交互系统。触笔既可取代键盘(用于数据输入),也可取代鼠标(用于控制)。某些计算系统接收手写的电子信息或电子墨水,并立即试图将电子墨水转换成文本。其它系统允许电子墨水保持为手写形式。
尽管存在触笔,对于第三方应用程序的开发者来说,各种用于组合电子墨水和典型的图形用户界面的方法可能是麻烦的。因此,本领域中需要一种第三方开发者易使用的用于捕获和再现墨水的改进系统。
发明内容
本发明的诸方面针对上述的一个或多个问题,从而提供供第三方开发者使用的更好的内容捕获和再现。在某些实施例中,墨水捕获和再现元素可表现为对象,对象是结构的一部分,在其中在深度方向(或z轴顺序)规定界面中的各元素。在某些情况中,对象可在界面中以各元素的规定的z轴顺序再现各元素,并随后在最上层再现墨水。在其它情况下,墨水和其它元素可相混合。
根据附图及其说明着重说明了这些和其它方面。
附图说明
在附图中例示但非限制地说明了本发明,附图中相同的参考标号表示类似的元素,其中:
图1示出了支持本发明的一个或多个方面的通用计算机。
图2示出了根据本发明的诸方面的基于触笔的输入系统的显示。
图3A和3B示出了根据本发明的各种界面实例,以及在每个界面实例中如何控制排序。
图4示出了根据本发明的诸方面的施加于一区域的墨水。
图5示出了根据本发明的诸方面的一对象的构造函数和特性。
图6示出了根据本发明的诸方面的一对象的方法。
图7示出了根据本发明的诸方面的一对象的事件。
图8示出了根据本发明的诸方面的根据对象和各种行为的关系。
图9A、9B和9C示出了根据本发明的诸方面的剪裁到一区域上的各种程度的墨水。
具体实施方式
本发明的诸方面涉及一种改进的墨水捕获和再现系统。
本文档划分成各个部分以助于读者阅读。这些部分包括:墨水的特征;术语;通用计算环境;对象的排序;对象的构造函数、特性、方法和事件;关系;以及剪裁。
墨水的特征
如使用墨水笔的用户所已知的那样,实际的墨水(使用具有储墨盒的笔在纸上记下的种类)可比线段连接的一系列坐标传递更多个信息。例如,实际墨水能反映出笔压力(根据墨水的厚度)、笔角度(根据线段或曲线段的形状和离散点周围的墨水性态)、以及笔尖的速度(根据直度、线宽以及线条或曲线上的线宽变化)。由于这些额外的特性,就可比两点间的均匀线宽更迅速地传递情绪、个性以及重点等等。
电子墨水(或墨水)涉及当用户使用基于触笔的输入设备时所捕获的电子信息的捕获和显示。电子墨水涉及一系列笔划,各笔划由一系列点组成。可使用各种已知的技术来表示这些点,这些技术包括笛卡尔坐标系(X,Y)、极坐标系(r,T)以及本领域中所已知的其它技术。电子墨水可包括实际墨水的特性的各种表现,包括压力、角度、速度、颜色、笔尺寸以及墨水暗度。除了其它信息之外,电子墨水还可包括其它特性,包括墨水是怎样沉积在纸上的顺序(对于大多数西方语言来说,是从左至右再向下的网格图案)、时间戳(指示出墨水沉积的时间)、墨水的作者的指示、以及起草设备(汲取墨水的工具的标识或用于沉积墨水的笔的标识中的至少一个)。
术语
墨水——一系列或一组具有特性的笔划。一系列笔划可包括有序形式的笔划。可根据捕获时间或笔划出现于纸上的位置或由墨水的作者在协作情况下来排序。其它顺序也是可能的。一组墨水可包括笔划顺序或未排序的笔划或它们的任意组合。此外,某些特性可能对于各笔划或笔划中的点来说是唯一的(例如,压力、速度、角度等)。这些特性可以笔划或点的级别来存储,而不以墨水的级别来存储。
墨水对象——存储具有或不具有特性的墨水的数据结构。
笔划——一系列或一组捕获的点。例如,当再现时,可用线条连接该系列点。作为替代,可用点以及指向下一点的矢量来表示笔划。简而言之,笔划意图包含与墨水相关的点或段的任意表示,而不管点的基本表示和/或是什么连接这些点。
点——定义了空间中的一个位置的信息。例如,可相对于捕获空间(例如,数字化器上的点)、虚拟墨水空间(捕获的墨水所在空间中的坐标)、和/或显示空间(显示设备的点或象素)来定义点。
元素——树中的对象,它们在树中的放置位置作为顺序。
通用计算环境
图1例示了可用于实施本发明的各种方面的示例性常规通用数字计算环境的示意图。在图1中,计算机100包括处理单元110、系统存储器120以及将包括系统存储器在内的各种系统组件连接到处理单元110的系统总线130。系统总线130可以是总线结构的若干类型中的任一种,包括使用各种总线结构体系中的任一种的存储器总线或存储器控制器、外围总线和局部总线。系统存储器120包括只读存储器(ROM)140和随机存取存储器(RAM)150。
包含如在启动期间帮助计算机100内的各元件间传输信息的基本例行程序的基本输入/输出系统160(BIOS)一般存储在ROM 140中。计算机100还包括对硬盘(未示出)进行读写的硬盘驱动器170、对可移除的磁盘190进行读写的磁盘驱动器180,以及对可移除的光盘192进行读写的光盘驱动器191,光盘例如CD-ROM或其它光媒体。硬盘驱动器170、磁盘驱动器180以及光盘驱动器191分别通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194而连接到系统总线130。各驱动器及其相关的计算机可读媒体向个人计算机100提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。那些本领域的技术人员会理解到在示例性的操作环境中还可使用能够存储可由计算机存取访问的数据的其它类型的计算机可读媒体,如磁带盒、闪存卡、数字通用盘、数字视频盘、贝努利(Bernoulli)盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等。
可在硬盘驱动器170、磁盘190、光盘192、ROM 140或RAM 150中存储若干程序模块,包括操作系统195、一个或多个应用程序196、其它程序模块197以及程序数据198。用户可通过诸如键盘101和指点设备102之类的输入设备向计算机100输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、卫星反射器、扫描仪等等。这些以及其它输入设备通常通过连接至系统总线的串行端口接口106而连接到处理单元110,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口而连接。[当前,由于USB接口非常流行,因此你可能希望在图1中以USB为特征]。此外,可通过适当的接口(未示出)将这些设备直接连接到系统总线130。监视器107或其它类型的显示设备通过诸如视频适配器108之类的接口连接到系统总线130。除了监视器之外,个人计算机一般包括其它外围输出设备(未示出),如扬声器和打印机。在一个实施例中,提供笔式数字化器155及其附带的笔或触笔166来数字化捕获手写输入。虽然示出了笔式数字化器165和串行端口接口106之间的直接连接,但是,实际上可利用包括无线技术在内的任何技术来将笔式数字化器165直接连接到处理单元110、并行端口或其它接口、以及系统总线130。同样,笔166可具有与之相关联的照相机和将该照相机捕获的图像信息无线传送到与总线130交互的接口的收发机。此外,除了照相机之外,或用于替代照相机,笔可具有用于确定电子墨水的笔划的其它传感系统,包括加速计、磁强计和陀螺仪。
此外,虽然示出数字化器165与监视器107相分离,但是数字化器165的可用输入区域可与监视器107的显示区域共生。此外,数字化器165可结合于监视器107中,或可作为重叠于或另外依附于监视器107的分立设备。
计算机100可操作于使用对诸如远程计算机109之类的一个或多个远程计算机的逻辑连接的联网环境中。远程计算机109可以是服务器、路由器、网络PC、对等设备或其它公共网络节点等等,一般包括上述关于计算机100所述的元件的部分或全部,虽然图1仅示出了存储器设备111。图1中所描述的逻辑连接包括局域网(LAN)112和广域网(WAN)113。这些联网环境在办公室、企业范围的计算机网络、企业内部互联网以及因特网之中是常见的。
当用于LAN联网环境时,计算机100通过网络接口或适配器114连接到局域网112。当用于WAN联网环境时,计算机100一般包括调制解调器115或其它手段来在诸如因特网之类的WAN 113上建立通信连接。调制解调器115,它可外置或内置于计算机中,可以通过串行端口接口106连接到系统总线130。在联网环境中,关于计算机100所描述的程序模块或其部分可存储于远程存储器设备中。此外,系统可具有有线和/或无线能力。例如,网络接口114可包括蓝牙、SWLan、和/或IEEE 802.11类的组合能力。理解到可连同这些协议或代替这些协议来使用其它无线通信协议。
将理解到所示出的网络连接是示例性的,可使用在计算机之间建立通信链路的其它技术。假设存在各种已知协议中的任何一种,如TCP/IP、以太网、FTP、HTTP等,系统可以在客户服务器配置中工作来允许用户从基于web的服务器检索web网页。可使用各种常规web浏览器中的任何一种来显示和处理web网页上的数据。
图2例示出可根据本发明的各种方面使用的示例性平板PC201。图1的系统中的特征、子系统和功能的任何部分或全部都可包含于图2的计算机中。平板PC 201包括大的显示表面202,如数字化平面显示器,较佳地是液晶显示(LCD)屏幕,在其上显示了多个窗口203。用户使用触笔204可在数字化显示表面202上进行选择、加亮和/或书写。适用的数字化显示表面202的例子包括诸如Mutoh或Wacom笔式数字化器之类的电磁笔式数字化器。还可使用其它类型的笔式数字化器,如光学数字化器。平板PC 201解释使用触笔204作出的姿态,以便处理数据、输入文本、建立绘图、和/或执行诸如表格处理软件、文字处理程序之类的常规计算机应用程序。
触笔204可配备有一个或多个按钮或其它特征来扩大其选择能力。在一个实施例中,可按“铅笔”或“钢笔”来实现触笔204,其中其一端构成书写部,而另一端构成“擦除器”端,当在显示器上移动时,该擦除器端指示出要被擦除的显示部分。可使用其它类型的输入设备,如鼠标、轨迹球等。此外,用户自己的手指可作为触笔204,并用于在触敏式或接近敏感式显示器上选择或指示出部分所显示的图像。因此,这里所使用的术语“用户输入设备”意图具有广泛的定义,并包含诸如触笔204之类的各种已知输入设备的许多变型。区域205示出了允许用户确定触笔204在何处与显示表面202接触的反馈区域或接触区域。
在各种实施例中,系统提供墨水平台作为一组COM(组件对象模型)服务,应用程序可使用它来捕获、处理和存储墨水。一个服务使得应用程序能够使用所揭示的墨水的表示来读写墨水。墨水平台还可包括标记语言,包括类似于可扩展标记语言(XML)的语言。此外,系统可使用DCOM作为另一个实现方式。此外,可使用的其它实现方式包括微软公司的Win32编程模型以及.Net编程模型。
对象的排序
图3A和3B示出了排序界面中的项目的各种技术。在图3A中,窗口301包含项目302和303。在此,项目302具有焦点,因此它出现在项目303之前。在图3B中,内容被安排在树中。在此,根节点(称为“根”)304是树中所有其它节点所基于的一个节点。孩子节点305和306从根节点304开始置于树中。它们之间的相对位置定义了它们将如何被再现,是位于另一个之上还是之下。图3B的左端的轴307例示出在该示例性树中的各节点的“z轴顺序”。
图4示出了在具有z轴排序的(或深度排序的)的顺序结构的系统中如何再现墨水的例子。在此,窗口401中示有内容。内容包括在位置403处再现的内容402和在位置405处再现的内容404。一旦先前的内容402和404已被再现,墨水406可在最上层内容(这里是404)上的位置407处再现。墨水406可总是或不总是与最上层内容404相关联。例如,用户可利用接受墨水信息作为内容406的形式404来工作。形式404可在其上放置墨水406之前被再现。
在替代方法中,墨水可位于其它元素的下面。例如,墨水可被再现,随后在其上再现元素。墨水的再现可与元素的再现相混合。
对象的构造函数、特性、方法和事件
为了控制内容的分层顺序,可使用对象来处理这种任务。为了简单起见,本揭示将可处理这种关于墨水的任务的对象称为“墨水画布”对象(其中它在功能上类似于画家怎样在实际的画布上绘制层)。在一个例子中,墨水画布可以是元素。在另一例子中,墨水画布可以是对象(其中所有元素都是对象,但不是所有对象都是元素)。为了简单起见,墨水画布在此指的是对象。图5至7中用各种构造函数、特性、方法和事件示出了墨水画布对象。理解到所示出的各种构造函数、特性、方法和事件仅仅是出于说明的目的。在墨水画布对象的其它例子中,可以各种形式来表现它们中的某些、全部或其它,而不背离本发明。墨水画布对象可作为零个或多个元素或对象的宿主。墨水画布对象可对以它为宿主的元素或对象再现墨水,或者这些元素或对象可为自己再现墨水。
下面的附图及其说明例示了方法、特性、事件和构造函数的各种例子。理解到,在某些情况中,可隐藏各种项目不被外界访问,但可通过不同的机制访问。例如,方法可用于返回一墨水对象、所选的墨水笔划、墨水流、或字节数组。该方法可用于代替访问可能包含该信息的特性。方法可用于访问或设置特性、响应或抛出事件等。特性可描述方法和/或事件的状态。事件可指示出何时设置特性或何时执行了方法。其它例子从这些例子衍生出,但不罗列于此。
各种方面可以或可以不必表现于墨水画布对象中。首先,墨水画布对象可作为元素和/或对象的宿主。元素和对象可由墨水画布对象再现或再现它们自己。可将墨水画布对象宿在基于树的组织结构中。可以标记语言(例如,HTML、XML和/或XAML等)来创建墨水画布对象。墨水画布对象可包括识别功能(包括手写识别、形状识别、绘图识别、注解识别等)。墨水画布对象可包括可扩展编辑功能。最后,墨水画布对象可包括各种应用程序编程接口,允许开发者编写与墨水画布对象交互的应用程序。这些方面中的一个或多个可表现于墨水画布对象中。
图5示出了与墨水画布对象相关联的构造函数和特性。墨水画布对象示为501。两个构造函数示为502和503。构造函数502是公共构造函数,具有默认集,且再现功能使能。构造函数503创建具有对特定的父类的链接的墨水画布对象501的新的实例。
图5还示出特性504-518:
●自定义编辑行为特性504允许设置自定义编辑行为。
●默认绘制属性特性505为新收集的笔划定义绘制属性。
●编辑模式特性506设置当前的编辑模式。
●擦除器尺寸特性507设置当激活擦除模式时的擦除器的尺寸。
●擦除器形状特性528设置当激活擦除模式时的擦除器的形状(圆形、椭圆形、方形、矩形等)。
●墨水特性508允许对包含于墨水画布对象中的墨水的访问。
●裁剪墨水特性509确定何时将裁剪墨水以适合于墨水画布的显示区域的尺寸。
●编辑模式反向特性510指示出当用户的笔反向时哪个编辑模式(或其它语言或状态)将被激活。注意到可使用其它笔。因此,可使用其它特性510来定义与其它笔尖相关联的其它模式。
●触笔反向特性511指示出触笔当前是否反向。
●移动使能特性512使能或禁用移动所创建的墨水的能力。
●调整大小使能特性513使能或禁用调整所创建的墨水的大小的能力。
●旋转使能特性514使能或禁用旋转所创建的墨水的能力。
●访问所选的元素特性515允许对是当前墨水画布501的孩子的当前所选元素的访问。
●访问所选的笔划特性516允许对与当前墨水画布501相关联的当前所选笔划的访问。
●使用自定义光标特性517指示出开发者正在使用自定义鼠标光标,以及指示出要保持当前的光标。
●用户正在编辑特性518指示出墨水画布501当前正在收集墨水。
●选择组特性527指示出将哪些笔划或墨水对象组成在一起用于组或语法分析程序知道的选择和操作。
除了上述特性之外,墨水画布对象501还可或可以不必包括一个或多个墨水识别特性。
●识别出的墨水特性519指示出墨水已被识别出。识别可与或可以不必与当前所选择的或先前所选择的笔划相关联。
●检测出的字特性520指示出哪组笔划或墨水对象已被检测成字。
●检测出的图像特性521指示出哪组笔划或墨水对象已被检测成图像。
●检测出的线特性522指示出哪组笔划或墨水对象已被检测成线。
●检测出的段落特性523指示出哪组笔划或墨水对象已被检测成段落。
●检测出的形状特性524指示出哪组笔划或墨水对象已被检测成形状(和/或形状的类型)。
●检测出的注解特性525指示出哪组笔划或墨水对象已被检测成注解。
●转换的文本特性526包括从墨水识别出的文本。作为替代,它可指示出,对于一个或多个墨水笔划或对象的再现,要使用转换的文本来替代墨水的可见形式。
理解到罗列出的上述特性仅仅是用于说明的目的。除了上述特性之外,或代替上述特性,还可使用用于墨水画布对象的其它特性。
图6示出了与墨水画布对象601相关联的各种方法:
●获得默认绘制属性覆盖方法602,为特定的触笔获得默认的覆盖设置。例如,用户可使一个触笔用于编辑,而使另一个触笔用于擦除。该方法允许控制特定触笔的默认行为。
●编辑模式、反向改变方法603,抛出一事件,已改变了反向模式。
●编辑模式、反向正在改变方法604,抛出一事件,正在改变反向模式。
●触笔反向改变方法605,当使用触笔改变反向编辑模式时,抛出一事件。
●自定义编辑行为改变方法606,抛出一事件指示出自定义编辑行为已改变。
●自定义编辑行为正在改变方法607,抛出一事件指示出自定义编辑行为正在改变。
●编辑模式改变方法608,抛出一事件指示出编辑模式已改变。
●编辑模式正在改变方法609,抛出一事件指示出编辑模式正在改变。
●墨水画布修饰器输入方法610,当输入用于墨水的图形修饰器(当用户选择墨水时可显示或可以不必显示的图形占位符)是抛出一事件。
●墨水画布修饰器退出方法611,当退出墨水的图形修饰器时,抛出一事件。
●墨水擦除方法612,当墨水被擦除时,抛出一事件。
●墨水正被擦除方法613,当墨水出于正被擦除的过程中时,抛出一事件。
●笔划收集方法614,当笔划被收集时,抛出一事件。
●选择正在旋转方法615,当选择在正被旋转过程中时,抛出一事件。
●选择已旋转方法616,当选择已被旋转,抛出一事件。
●选择正在调整大小方法617,当选择在正被调整大小过程中时,抛出一事件。
●选择已调整大小方法618,当选择已被调整大小时,抛出一事件。
●选择正在移动方法619,当选择在正被移动过程中时,抛出一事件。
●选择已移动方法620,当选择已被移动时,抛出一事件。
●选择正在改变方法621,当选择在正被改变过程中时,抛出一事件。
●选择已改变方法622,当选择已被改变时,抛出一事件。
●设置默认绘制属性覆盖方法623,覆盖与捕获的笔划相关联的默认绘制属性。
除了上述方法之外,墨水画布对象601还可或可不必包括一个或多个墨水识别方法。
●墨水识别方法624,当墨水已被识别时,抛出一个或多个事件。
理解到罗列出的上述方法仅仅是用于说明的目的。除了上述方法之外,或代替上述方法,还可使用用于墨水画布对象的其它方法。
图7示出了可与墨水画布对象701相关联的各种事件:
●自定义编辑行为己改变事件702,当自定义编辑行为已改变时发生。
●自定义编辑行为正在改变事件703,当自定义编辑行为要改变时发生。
●编辑模式已改变事件704,当编辑模式已改变时发生。
●编辑模式正在改变事件705,当编辑模式要改变时发生。
●墨水画布修饰器输入事件706,当墨水修饰器已被输入时发生。
●墨水画布修饰器退出事件707,当墨水修饰器已被退出时发生。
●墨水已擦除事件708,当墨水已被擦除时发生。
●墨水正在擦除事件709,当墨水要被擦除时发生。
●编辑模式反向改变事件710,当关于反向笔的编辑模式已改变时发生。
●编辑模式反向正在改变模式711,当关于反向笔的编辑模式要改变时发生。
●触笔反向、正在改变事件712,当用户正在反向触笔时发生。
●触笔反向、已改变事件713,当用户已反向触笔时发生。
●选择已改变事件714,当选择已改变时发生。
●选择正在改变事件715,当选择要改变时发生。
●选择已移动事件716,当选择已移动时发生。
●选择正在移动事件717,当选择要移动时发生。
●选择已调整大小事件718,当选择已调整大小时发生。
●选择正在调整大小事件719,当选择要调整大小时发生。
●选择已旋转事件720,当选择已旋转时发生。
●选择正在旋转事件721,当选择要旋转时发生。
●笔划已收集事件722,当已收集笔划时发生。
除了上述事件之外,墨水画布对象701还可或可不必包括墨水识别事件。
●墨水已识别事件723,当墨水已被识别时发生。
●检测出字事件724,当已检测出字是发生。
●检测出图像事件725,当已检测出墨水涂染的图像时发生。
●检测出线事件726,当已检测出墨水涂染的线时发生。
●检测出段落事件727,当已检测出墨水涂染的段落时发生。
●检测出形状事件728,当已检测出墨水涂染的形状时发生。
●检测出注解事件729,当已检测出墨水注解时发生。
●墨水转换成文本事件730,当墨水已被转换成文本时发生。
理解到罗列出的上述事件仅仅是用于说明的目的。除了上述事件之外,或代替上述事件,还可使用用于墨水画布对象的其它事件。
关系
图8示出了墨水画布对象、墨水编辑器以及各种行为之间的各种示例性关系。墨水画布对象801包含一个或多个子元素803。墨水画布对象801附属于墨水编辑器802,并处理输入事件(改变焦点、键盘输入、触笔输入等)。墨水编辑器802尤其使组件化的编辑行为804(包括但不限于墨水行为和非墨水特定的行为)的激活和谐地结合起来。墨水编辑行为805中收集墨水特定行为。墨水编辑行为805提供基本的激活/不激活推断(当笔拿起时不激活,当编辑模式特性在墨水画布对象上改变时不激活等)。墨水编辑行为805包含墨水收集行为806、选择行为807(包括套索选择)、以及其它行为808。非墨水特定行为包括橡皮带行为809、移动行为810、调整大小行为811以及其它行为812。
墨水编辑器802管理各种行为806-812,如从墨水编辑器802到行为806-812中的每一个的箭头所示。各种行为806-812可根据相关的功能编成组。例如,可由包括但不限于套索选择行为807和橡皮带选择行为809的各种选择行为执行子元素803中的内容子集的创建或选择。子元素803中所选的内容可由例如移动行为810和调整大小行为811(除了其它行为之外)的各种行为进行修改和/或处理。
回到墨水画布对象801,可不带有孩子对象来使用它,来定义一个用户可绘制的区域。同样,墨水画布对象801可在任何其它元素或对象或控制之上使用,因为墨水画布对象801可作为任何其它类型的元素的宿主。这允许开发者简单地作出任何注解或使任何背景进行上墨。理解到根据本发明的诸方面,可以各种级别来再现墨水(与元素混合、位于元素之上或之下)。
访问墨水画布(InkCanvas)对象的示例性代码如下:
<InkCanvas>
  <TextPanel FontSize="12"FontFamily="Arial">
       Ink in XAML will be
       <TextPanelFontWeight=″Bold″>really</TextPanel>
       cool!
  </TextPanel>
</InkCanvas>
由于InkCanvas可作为任何其它类型的元素的宿主,对于所有其它类型的面板来说不必启用涂墨能力。下面是另一示例性的代码片段,它允许墨水画布和漂浮面板(将显示墨水的地方)之间的结合:
<InkCanvas>
     <DockPanel Background="white">
          <FlowPanel Background="#669999"Width="100"
     Height="75"
          Dock="Right">
          <Text>Right</Text>
     </FlowPanel>
          <FlowPanel Background="#669966"Width="100"
          Height="75"Dock="Left">
          <Text>Left</Text>
          </FlowPanel>
     </DockPanel>
</InkCanvas>
classSystem.Windows.Controls.InkCanvas:Canvas{
下面示出了与元素本身相关联的墨水对象。为方便起见,它可用作动态特性或作为.NET特性:
public static readonly Dynamic Property InkProperty=
     Property Manager.RegisterProperty("Ink",...);
public System.Windows.Ink.Ink Ink;
下面是包含使用墨水画布对象的墨水的XAML的例子:
<InkCanvas
     Ink=″base64:sdfsdfdsf...″
     Factoid=″Default″
     TopRecognitionResult=″To get her″
     <!--hook up a gesture event handler-->
     Gesture=″HandleGesture″
     Stroke=″HandleStroke″
     <!--set the default ink properties on the collection
     behavior
     -->
     DefaultDrawingAttributes.FitToCurve=true>
     <Image Left="200"Top="75"Source="image.png"
          Alt="alternate text"/>
     <def:Code>
           <![CDATA[
           void OnStroke(Element sender,ClickEventArgs e)
           {
                // Some Code
           }
           void OnGesture(Element sender,ClickEventArgs e)
           {
                // Some Code
           }
        ]]>
        </def:Code>
     ″To get her″
</InkCanvas>
墨水画布对象的各要点可包括下列的一个或多个:
●在XAML中,任何元素可以是墨水画布的孩子。孩子可以被完全地定位。
●任何动态事件可具有通过设置XML属性而附加的代码。
●任何动态特性可通过设置XML属性来初始化。
●墨水可以或可以不必是动态特性,可在称为“墨水”的XML属性中串行化为base64 ISF(一种存储墨水的格式)。
●标签体是最上层的识别结果串。
剪裁
图9A、9B和9C示出了墨水画布对象的视觉属性。可以或可以不必剪裁显示在墨水画布上的墨水。在一个例子中,墨水画布对象可自动地调整大小以防止剪裁任何内容或仅仅是墨水内容。作为替代,墨水画布可设置成某一尺寸,使得内容或仅仅是墨水内容被裁剪。裁剪可由裁剪特性规定或由一组裁剪特性(例如一般的内容裁剪和墨水的特定裁剪特性)规定。在图9A中,墨水901的整个内容示于区域902中。在图9B中,示出了整个墨水。墨水的第一部分903示于区域904中。墨水剩下的部分溢出在区域904之外。在此,墨水裁剪是关闭的。在图9C中,墨水906被裁剪到区域907。在此,裁剪是打开的。
已根据例示的实施例描述了本发明的诸方面。通过阅读本说明书,本领域的普通技术人员会理解到位于本发明的范围和要旨内的许多其它实施例、修改和变型。

Claims (18)

1.一种方法,其特征在于包括以下步骤:
在一个包含提供墨水功能的墨水画布对象的对象中收容一个或多个对象,所述墨水功能包括墨水的编辑、识别和检测,其中所述墨水画布对象配置成检测并响应由用户使用基于触笔的输入设备执行的动作,所述墨水包括从对所述基于触笔的输入设备的使用捕获的信息;
再现所述一个或多个对象;以及
在所述一个或多个对象之上再现所述墨水。
2.如权利要求1所述的方法,其特征在于,还包括:
修改所述对象的特性的步骤。
3.如权利要求1所述的方法,其特征在于,还包括:
由所述对象抛出事件的步骤。
4.如权利要求1所述的方法,其特征在于,还包括:
执行与所述对象相关联的方法的步骤。
5.一种平板PC系统,其特征在于,包括:
在一个包含提供墨水功能的墨水画布对象的对象中收容一个或多个对象的装置,所述墨水功能包括墨水的编辑、识别和检测,其中所述墨水画布对象配置成检测并响应由用户使用基于触笔的输入设备执行的动作,所述墨水包括从对所述基于触笔的输入设备的使用捕获的信息;
再现所述一个或多个对象的装置;以及
在所述一个或多个对象之上再现所述墨水的装置。
6.如权利要求5所述的平板PC系统,其特征在于,还包括:
修改所述对象的特性的装置。
7.如权利要求5所述的平板PC系统,其特征在于,还包括:
由所述对象抛出事件的装置。
8.如权利要求5所述的平板PC系统,其特征在于,还包括:
执行与所述对象相关联的方法的装置。
9.一种方法,其特征在于,包括以下步骤:
在一个包含提供墨水功能的墨水画布对象的对象中收容一个或多个对象,其中所述墨水画布对象配置成检测并响应由用户使用基于触笔的输入设备执行的动作,所述墨水包括从对所述基于触笔的输入设备的使用捕获的信息;
一个或多个对象再现自己;以及
在所述一个或多个对象之上再现所述墨水。
10.如权利要求9所述的方法,其特征在于,还包括:
修改所述对象的特性的步骤。
11.如权利要求9所述的方法,其特征在于,还包括:
由所述对象抛出事件的步骤。
12.如权利要求9所述的方法,其特征在于,还包括:
执行与所述对象相关联的方法的步骤。
13.一种系统,其特征在于,包括:
在一个包含提供墨水功能的墨水画布对象的对象中收容一个或多个对象的装置,所述墨水功能包括墨水的编辑,其中所述墨水画布对象配置成检测并响应由用户使用用户输入设备执行的动作;
一个或多个对象再现自己的装置;以及
在所述一个或多个对象之上再现所述墨水的装置。
14.如权利要求13所述的系统,其特征在于,还包括:
修改所述对象的特性的装置。
15.如权利要求13所述的系统,其特征在于,还包括:
由所述对象抛出事件的装置。
16.如权利要求13所述的系统,其特征在于,还包括:
执行与所述对象相关联的方法的装置。
17.一种方法,其特征在于,包括:
在一个包含提供墨水功能的墨水画布对象的对象中收容一个或多个对象,所述墨水功能包括墨水的编辑,其中所述墨水画布对象配置成检测并响应由用户使用用户输入设备执行的动作;
再现所述墨水;以及
一个或多个对象再现自己使得它们与所述墨水的再现相混合。
18.一种系统,其特征在于,包括:
在一个包含提供墨水功能的墨水对象的对象中收容一个或多个对象的装置,其中所述墨水对象配置成检测并响应由用户使用用户输入设备执行的动作;
再现所述墨水的装置;以及
一个或多个对象再现自己使得它们与所述墨水的再现相混合的装置。
CNB03801758XA 2003-08-21 2003-08-21 墨水收集和再现 Expired - Lifetime CN100481062C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2003/026203 WO2005031594A1 (en) 2003-08-21 2003-08-21 Ink collection and rendering
US10/644,896 US7483017B2 (en) 2003-08-21 2003-08-21 Ink collection and rendering

Publications (2)

Publication Number Publication Date
CN1656473A CN1656473A (zh) 2005-08-17
CN100481062C true CN100481062C (zh) 2009-04-22

Family

ID=42813269

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03801758XA Expired - Lifetime CN100481062C (zh) 2003-08-21 2003-08-21 墨水收集和再现

Country Status (9)

Country Link
US (1) US7483017B2 (zh)
EP (1) EP1678625A4 (zh)
JP (1) JP2007521523A (zh)
CN (1) CN100481062C (zh)
AU (2) AU2003273239B8 (zh)
BR (1) BR0306576A (zh)
CA (1) CA2466952A1 (zh)
MX (1) MXPA04005721A (zh)
WO (1) WO2005031594A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397949B2 (en) * 2000-06-21 2008-07-08 Microsoft Corporation Serial storage of ink and its properties
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
US7427984B2 (en) * 2003-10-26 2008-09-23 Microsoft Corporation Point erasing
US7486282B2 (en) * 2006-01-27 2009-02-03 Microsoft Corporation Size variant pressure eraser
JP5640681B2 (ja) 2010-11-11 2014-12-17 ソニー株式会社 情報処理装置、立体視表示方法及びプログラム
US9519414B2 (en) * 2012-12-11 2016-12-13 Microsoft Technology Licensing Llc Smart whiteboard interactions
US10776570B2 (en) 2015-02-10 2020-09-15 Microsoft Technology Licensing, Llc Supporting digital ink in markup language documents
US10210383B2 (en) 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
US10387034B2 (en) 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US10691880B2 (en) * 2016-03-29 2020-06-23 Microsoft Technology Licensing, Llc Ink in an electronic document
US10970476B2 (en) * 2017-05-17 2021-04-06 Microsoft Technology Licensing, Llc Augmenting digital ink strokes
US10761719B2 (en) * 2017-11-09 2020-09-01 Microsoft Technology Licensing, Llc User interface code generation based on free-hand input
CN111090351B (zh) * 2018-10-24 2023-08-18 义隆电子股份有限公司 触控系统、其输入装置、及其信号传送方法
CN113535056B (zh) * 2021-06-17 2023-12-05 深圳软牛科技有限公司 基于InkCanvas的选框调整方法和相关设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633436A (en) 1983-12-16 1986-12-30 International Business Machines Corp. Real-time rub-out erase for an electronic handwriting facility
US5347620A (en) 1991-09-05 1994-09-13 Zimmer Mark A System and method for digital rendering of images and printed articulation
US6587587B2 (en) * 1993-05-20 2003-07-01 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5534893A (en) 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5768607A (en) * 1994-09-30 1998-06-16 Intel Corporation Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound
US6924790B1 (en) 1995-10-16 2005-08-02 Nec Corporation Mode switching for pen-based computer systems
US5982399A (en) * 1996-06-21 1999-11-09 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
US5892399A (en) * 1996-07-29 1999-04-06 Texas Instruments Incorporated Current boost circuit for reducing crossover distortion in an operational amplifier
US6445384B1 (en) * 1996-10-01 2002-09-03 Greensteel, Inc. Electronic whiteboard system eraser
US5889523A (en) * 1997-11-25 1999-03-30 Fuji Xerox Co., Ltd. Method and apparatus for dynamically grouping a plurality of graphic objects
US6111565A (en) 1998-05-14 2000-08-29 Virtual Ink Corp. Stylus for use with transcription system
US6687876B1 (en) * 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
US6529215B2 (en) * 1998-12-31 2003-03-04 Fuji Xerox Co., Ltd. Method and apparatus for annotating widgets
US6326957B1 (en) 1999-01-29 2001-12-04 International Business Machines Corporation System and method for displaying page information in a personal digital notepad
US7707082B1 (en) 1999-05-25 2010-04-27 Silverbrook Research Pty Ltd Method and system for bill management
US6760119B1 (en) 1999-05-25 2004-07-06 Silverbrook Research Pty Ltd Relay device
US7190491B2 (en) 1999-05-25 2007-03-13 Silverbrook Research Pty Ltd Interactive publication printer and binder
US7259753B2 (en) * 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US6707473B2 (en) 2001-08-01 2004-03-16 Microsoft Corporation Dynamic rendering of ink strokes with transparency
US6909430B2 (en) 2001-08-01 2005-06-21 Microsoft Corporation Rendering ink strokes of variable width and angle
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7486282B2 (en) 2006-01-27 2009-02-03 Microsoft Corporation Size variant pressure eraser

Also Published As

Publication number Publication date
MXPA04005721A (es) 2005-06-03
JP2007521523A (ja) 2007-08-02
CN1656473A (zh) 2005-08-17
US7483017B2 (en) 2009-01-27
AU2010219367A1 (en) 2010-09-30
CA2466952A1 (en) 2005-02-21
WO2005031594A1 (en) 2005-04-07
US20050052433A1 (en) 2005-03-10
EP1678625A1 (en) 2006-07-12
AU2003273239B8 (en) 2010-07-22
EP1678625A4 (en) 2007-10-17
BR0306576A (pt) 2006-10-03
AU2003273239A1 (en) 2005-04-14
AU2010219367B2 (en) 2011-08-18
AU2003273239B2 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
EP1363231B1 (en) Overlaying electronic ink
US7966352B2 (en) Context harvesting from selected content
CN1758205B (zh) 轻击手势
TWI269195B (en) Method for manipulating ink, and graphical user interface configured to interface a user with a control
US7499047B2 (en) Ink editing architecture
AU2010219367B2 (en) Ink collection and rendering
US7486282B2 (en) Size variant pressure eraser
US6965384B2 (en) In-situ digital inking for applications
CN101164054A (zh) 自动提示列表和手写输入
WO2016144621A1 (en) Ink experience for images
CN114237419B (zh) 显示设备、触控事件的识别方法
WO2016130344A1 (en) Supporting digital ink in markup language documents
US20040228532A1 (en) Instant messaging ink and formats
CN108845732A (zh) 一种信息显示方法及终端设备
CN110537164A (zh) 用于内容创建应用的增强的上墨能力
KR100952562B1 (ko) 스타일러스-기반 입력 시스템 및 그를 위한 컴퓨터-구현 프로세스
RU2365979C2 (ru) Ввод и воспроизведение электронных чернил
KR20230059615A (ko) 광고를 위한 인공지능 인터페이스 시스템 및 플랫폼 개발 방법
Boyce et al. Windows 8 Bible
Richards An intuitive motion-based input model for mobile devices
KR20190000674A (ko) 컴퓨터에서 pc 모니터를 통한 바탕화면 통합 관리용 애플리케이션을 구현하기 위하여 매체에 저장된 컴퓨터 프로그램

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20090422

CX01 Expiry of patent term