跳转到主要内容
此方法在客户端实现。在 Image Viewer 中校正图像页面的透视失真之前,ABBYY FineReader Engine 会调用此方法。如果在图像编辑器对话框的“校正梯形失真”部分中单击 Button_CorrectPerspective“校正此图像”按钮,就会调用此过程。 该方法会将即将被更改的页面索引以及页面新角点的坐标传递给客户端。借助此方法,可以取消该操作。
EditImage_CorrectPerspective

语法

C++

HRESULT OnCorrectPerspective(
  int           PageIndex,
  IPoint*       TopLeft,
  IPoint*       TopRight,
  IPoint*       BottomRight,
  IPoint*       BottomLeft,
  VARIANT_BOOL* Cancel
);

C#

void OnCorrectPerspective(
  int      PageIndex,
  IPoint    TopLeft,
  IPoint    TopRight,
  IPoint    BottomRight,
  IPoint    BottomLeft,
  out bool Cancel
);

Visual Basic .NET

Sub OnCorrectPerspective( _
  PageIndex As Integer, _
  TopLeft As IPoint, _
  TopRight As IPoint, _
  BottomRight As IPoint, _
  BottomLeft As IPoint, _
  ByRef Cancel As Boolean _
)

参数

PageIndex [in] 包含要校正梯形失真的页面索引。 TopLeft [in] 包含图像上某个点的坐标,该点将作为校正后图像新的左上角。请参阅 Point 对象的说明。 TopRight [in] 包含图像上某个点的坐标,该点将作为校正后图像新的右上角。请参阅 Point 对象的说明。 BottomRight [in] 包含图像上某个点的坐标,该点将作为校正后图像新的右下角。请参阅 Point 对象的说明。 BottomLeft [in] 包含图像上某个点的坐标,该点将作为校正后图像新的左下角。请参阅 Point 对象的说明。 Cancel [out] 您可以将此变量设置为 TRUE,以指示应终止该过程。在这种情况下,将不会校正透视失真。

返回值

[仅限 C++] 如果此方法返回的值不是 S_OK,则表示客户端发生了错误;在这种情况下,Cancel 参数的值将不予考虑。

备注

此方法的客户端实现必须确保捕获并处理方法内部抛出的所有异常,且不得让任何异常传播到方法外部。异常一旦传播到方法外部,可能会导致不可预测的结果 (例如程序终止) 。

另请参见

IImageViewerEvents