Member 11149766 Ответов: 1

Инструменты программе imageviewer - Рубер понятие окантовка в c#.net


Мое требование-найти выбранный текст на изображении . Пока я рисую прямоугольник поверх изображения с помощью мыши ,мое событие "viewer_InteractiveRegionRectangle" не срабатывает или не работает.
Получение данных также в InteractiveRegionRectangle.

Что я уже пробовал:

ViewerUserControl.в CS
открытый частичный класс ViewerUserControl : UserControl
{
публичное событие EventHandler<rasterviewerrectangleeventargs>InteractiveRegionRectangle = null;
государственной программе imageviewer _imageViewer;
}

WBaseRealEstate.в CS:
защищенный ViewerUserControl imageViewerControl1;
защищенные виртуальные WBaseRealEstate_Load недействительным(объект отправителя, EventArgs в электронной)
{
ImageViewerRubberBandInteractivemode rubberBandMode = new
ImageViewerRubberBandInteractivemode();

this.imageViewerControl1._imageViewer.InteractiveModes.Добавить(rubberBandMode);
this.imageViewerControl1.InteractiveRegionRectangle += новый EventHandler<leadtools.winforms.rasterviewerrectangleeventargs>(viewer_InteractiveRegionRectangle);

}


защищенные виртуальные viewer_InteractiveRegionRectangle недействительным(объект отправителя, не считать.WinForms.RasterViewerRectangleEventArgs е)
{
RubberbandDelegate del = новый RubberbandDelegate(это.Резиновая лента);
этот.BeginInvoke(del, новый объект[] { e });
}

1 Ответов

Рейтинг:
1

LEADTOOLS Support

Интерактивный режим Rubberband нашего элемента управления ImageViewer реализован в нескольких демонстрационных версиях, поставляемых вместе с инструментарием, включая проект OcrModulesDemo.

Событие, которое вам нужно обработать, - это ImageViewerRubberBandInteractivemode.RubberBandCompleted.

Код для инициализации режима таков:

_viewer.InteractiveModes.BeginUpdate();
_rubberBandMode = new ImageViewerRubberBandInteractiveMode();
_rubberBandMode.IdleCursor = Cursors.Cross;
_rubberBandMode.WorkingCursor = Cursors.Cross;
_rubberBandMode.RubberBandCompleted += new EventHandler(_rubberBandMode_RubberBandCompleted);
_viewer.InteractiveModes.Add(_rubberBandMode);
_viewer.InteractiveModes.EndUpdate();

Обработчик событий выглядит следующим образом:
private void _rubberBandMode_RubberBandCompleted(object sender, ImageViewerRubberBandEventArgs e)
{
   _frameRect = _viewer.ConvertRect(null,
      ImageViewerCoordinateType.Control,
      ImageViewerCoordinateType.Image,
      LeadRect.FromLTRB(e.Points[0].X, e.Points[0].Y, e.Points[1].X, e.Points[1].Y));
// ...use the rectangle
}

Пожалуйста, проверьте, как демо-версии реализуют это событие, чтобы получить выбранную область. Если вы все еще сталкиваетесь с проблемами, свяжитесь с нашей службой поддержки по электронной почте или в чате (оба они бесплатны) и укажите полную информацию о проблеме, вашей версии LEADTOOLS и о том, что вы пробовали до сих пор.

Контактные данные указаны на сайте эта страница.