RecognizerGuide 结构
表示 Recognizer 对象用来绘制墨迹 的区域。该区域称为识别器参考线。
命名空间: Microsoft.Ink
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Structure RecognizerGuide
用法
Dim instance As RecognizerGuide
public struct RecognizerGuide
public value class RecognizerGuide
public final class RecognizerGuide extends ValueType
JScript 支持使用结构,但是不支持新结构的声明。
备注
识别器参考线可由行和列组成,它为识别器提供了更好的上下文来执行识别。例如,您可以在用户的屏幕上绘制一些水平线条(差不多类似于刻度纸),以显示墨迹应出现的位置(这一类型的参考线仅由行组成,而没有列)。如果用户在这些线条上而不是在任意空白处书写,可提高识别的准确度。有关识别器参考线的说明,请参见Ink Recognition。
如果使用参考线为墨迹提供上下文,则可以更容易地识别诸如“t”和“I”这样的字母。
参考线以墨迹空间 坐标指定墨迹边界。DrawnBox 属性可以定义一个框,其大小等于或小于 WritingBox 属性所定义的框。这样可使用不同的书写样式。如果用户在 DrawnBox 之外但在 WritingBox 之内书写,则 Recognizer 对象使用所有墨迹来帮助进行识别。
如果应用程序已在用户将书写的屏幕上绘制参考线,则应用程序应设置识别器参考线的属性值,以便通知识别器。这些属性仅供识别器使用。设置这些属性的操作本身不会在屏幕上绘制可见线条,而应由应用程序或控件绘制可见线条。
除了在屏幕上绘制用于表明用户书写位置的线条或标尺之外,还可以绘制用于书写字符或单词的单元格。这称为框式输入,对于某些东亚语言,这种方式很有用。若要确定识别器是否支持框式输入,请调用 Recognizer 对象的 Capabilities 属性。
默认情况下,没有任何参考线。默认参考线的所有属性值都设置为 0。必须使用此对象的属性才能设置参考线。
示例
此示例实例化 RecognizerContext 对象,并通过创建一个新 RecognizerGuide 对象为 Guide 属性分配值。
' create a new RecognizerContext object
mRecognizerContext = New RecognizerContext()
' if the Recognizer supports LinedInput, set the Guide
If (mRecognizerContext.Recognizer.Capabilities And RecognizerCapabilities.LinedInput) <> 0 Then
' get the lower right corner in pixel units
Dim lowerRight As Point = New Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height)
' convert to ink space units
mInkOverlay.Renderer.PixelToInkSpace(Me.CreateGraphics(), lowerRight)
' create Rectangles
Dim writingBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
Dim drawnBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
' shrink drawn box relative to writing box
drawnBox.Inflate(-100, -100)
' create Guide with 8 rows, zero columns, and no midline
Dim guide As RecognizerGuide = New RecognizerGuide(8, 0, 0, writingBox, drawnBox)
mRecognizerContext.Guide = guide
End If
// create a new RecognizerContext object
mRecognizerContext = new RecognizerContext();
// if the Recognizer supports LinedInput, set the Guide
if ((mRecognizerContext.Recognizer.Capabilities & RecognizerCapabilities.LinedInput) != 0)
{
// get the lower right corner in pixel units
Point lowerRight = new Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height);
// convert to ink space units
mInkOverlay.Renderer.PixelToInkSpace(this.CreateGraphics(), ref lowerRight);
// create Rectangles
Rectangle writingBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
Rectangle drawnBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
// shrink drawn box relative to writing box
drawnBox.Inflate(-100, -100);
// create Guide with 8 rows, zero columns, and no midline
RecognizerGuide guide = new RecognizerGuide(8, 0, 0, writingBox, drawnBox);
mRecognizerContext.Guide = guide;
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0