private void Startup() { try { //Check if ocr engine was passed in. The recognition demos have the ability to launch this demo and it will pass //the ocr engine it is using. We will default to that engine string[] commandArgs = Environment.GetCommandLineArgs(); if (commandArgs.Length == 2) { Properties.Settings settings = new Properties.Settings(); settings.OcrEngineType = commandArgs[1]; settings.Save(); } if (!StartUpEngines()) { Messager.ShowError(this, "One or more required engines did not start. The application will now close."); this.Close(); return; } Messager.Caption = "LEADTOOLS Check Reader"; checkReader = new BankCheckReader(); checkReader.OcrEngine = ocrEngine; #if LEADTOOLS_V20_OR_LATER checkReader.MicrFontType = BankCheckMicrFontType.Unknown; #endif // #if LEADTOOLS_V20_OR_LATER brush = new SolidBrush(Color.FromArgb(127, Color.Yellow)); pen = new Pen(brush); } catch (Exception exp) { Messager.ShowError(this, exp); return; } _noneInteractiveMode = new ImageViewerNoneInteractiveMode(); _panInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _panInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left; _zoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); rasterImageViewer1.InteractiveModes.BeginUpdate(); rasterImageViewer1.InteractiveModes.Add(_noneInteractiveMode); rasterImageViewer1.InteractiveModes.Add(_panInteractiveMode); rasterImageViewer1.InteractiveModes.Add(_zoomToInteractiveMode); rasterImageViewer1.PostRender += new EventHandler <ImageViewerRenderEventArgs>(rasterImageViewer1_PostRender); rasterImageViewer1.InteractiveModes.EndUpdate(); dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; // Load the default document string defaultDocumentFile = Path.Combine(DemosGlobal.ImagesFolder, "BankCheck.jpg"); if (File.Exists(defaultDocumentFile)) { OpenImage(defaultDocumentFile); } }
private void InitInteractiveModes() { _imageViewer.InteractiveModes.BeginUpdate(); _imageViewer.InteractiveModes.Clear(); noneMode = new ImageViewerNoneInteractiveMode(); noneMode.IdleCursor = Cursors.Arrow; noneMode.WorkingCursor = Cursors.Arrow; noneMode.IsEnabled = true; _imageViewer.InteractiveModes.Add(noneMode); panZoomMode = new ImageViewerPanZoomInteractiveMode(); panZoomMode.IdleCursor = Cursors.Hand; panZoomMode.WorkingCursor = Cursors.Hand; panZoomMode.IsEnabled = false; panZoomMode.WorkOnBounds = true; _imageViewer.InteractiveModes.Add(panZoomMode); zoomToMode = new ImageViewerZoomToInteractiveMode(); zoomToMode.IdleCursor = Cursors.Cross; zoomToMode.WorkingCursor = Cursors.Cross; zoomToMode.IsEnabled = false; zoomToMode.WorkOnBounds = true; _imageViewer.InteractiveModes.Add(zoomToMode); _imageViewer.InteractiveModes.EndUpdate(); }
private void InitInteractiveModes() { //None noneInteractiveMode = new ImageViewerNoneInteractiveMode(); _rasterImageViewer.InteractiveModes.Add(noneInteractiveMode); automationInteractiveMode = new AutomationInteractiveMode(); automationInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left | System.Windows.Forms.MouseButtons.Right; automationInteractiveMode.IdleCursor = Cursors.Default; automationInteractiveMode.WorkingCursor = Cursors.Default; _rasterImageViewer.InteractiveModes.Add(automationInteractiveMode); PanInteractiveMode = new ImageViewerPanZoomInteractiveMode(); PanInteractiveMode.IdleCursor = Cursors.Hand; PanInteractiveMode.WorkingCursor = Cursors.Hand; PanInteractiveMode.IsEnabled = false; PanInteractiveMode.WorkOnBounds = true; PanInteractiveMode.EnablePan = true; PanInteractiveMode.EnableZoom = false; PanInteractiveMode.EnablePinchZoom = false; _rasterImageViewer.InteractiveModes.Add(PanInteractiveMode); ZoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); ZoomToInteractiveMode.WorkCompleted += new EventHandler(zoomToMode_WorkCompleted); ZoomToInteractiveMode.IdleCursor = Cursors.Cross; ZoomToInteractiveMode.WorkingCursor = Cursors.Cross; ZoomToInteractiveMode.IsEnabled = false; ZoomToInteractiveMode.WorkOnBounds = true; _rasterImageViewer.InteractiveModes.Add(ZoomToInteractiveMode); automationInteractiveMode.IsEnabled = true; _rasterImageViewer.InteractiveModes.EnableById(automationInteractiveMode.Id); }
public RecognitionResult(List <FilledForm> filledForms) { InitializeComponent(); _filledForms = filledForms; _cmbSelectedForm.Items.Clear(); for (int i = 0; i < _filledForms.Count; i++) { _cmbSelectedForm.Items.Add(_filledForms[i].Name); } _panInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _zoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); _panInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left; _panInteractiveMode.IdleCursor = Cursors.Hand; _panInteractiveMode.IdleCursor = Cursors.Hand; _zoomToInteractiveMode.IdleCursor = Cursors.Cross; _zoomToInteractiveMode.IdleCursor = Cursors.Cross; _filledFormViewer.InteractiveModes.BeginUpdate(); _fieldViewer.InteractiveModes.BeginUpdate(); _filledFormViewer.InteractiveModes.Add(_panInteractiveMode); _filledFormViewer.InteractiveModes.Add(_zoomToInteractiveMode); _fieldViewer.InteractiveModes.Add(_panInteractiveMode); _fieldViewer.InteractiveModes.Add(_zoomToInteractiveMode); _filledFormViewer.InteractiveModes.EndUpdate(); _fieldViewer.InteractiveModes.EndUpdate(); _fieldResults.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; }
private void WriteBarcodeForm_Load(object sender, System.EventArgs e) { // initialize the _viewer object _viewer = new ImageViewer(); _viewer.Dock = DockStyle.Fill; _viewer.BackColor = Color.DarkGray; Controls.Add(_viewer); _viewer.BringToFront(); // initialize the codecs object. _codecs = new RasterCodecs(); try { string imagePath = Path.Combine(DemosGlobal.ImagesFolder, "license_sample_rear_blank.png"); _viewer.Image = _codecs.Load(imagePath); } catch { _viewer.Image = RasterImage.Create(1100, 700, 24, 150, RasterColor.White); } _barcodeEngine = new BarcodeEngine(); _writeOptions = (PDF417BarcodeWriteOptions)_barcodeEngine.Writer.GetDefaultOptions(BarcodeSymbology.PDF417); //Refer to AAMVA CDS 2016 Section D.3 thru D.11.2 //Must range from 0.0066 to 0.015 inches _writeOptions.XModule = 15; //0.015 //Must >= 3 _writeOptions.XModuleAspectRatio = 3; //Error level must be at least 3, 5 is recommended _writeOptions.ECCLevel = PDF417BarcodeECCLevel.Level5; //Default WidthAspectRatio is 2:1. 4:1 looks similar to ID barcodes in the wild _writeOptions.SymbolWidthAspectRatio = 4; //Default quiet zone for PDF417 is 2 * XModule _viewer.BeginUpdate(); WriteBarcodeInteractiveMode writeBarcodeInteractiveMode = new WriteBarcodeInteractiveMode(_barcodeEngine, _aamvaData, _writeOptions); writeBarcodeInteractiveMode.IsEnabled = true; ImageViewerPanZoomInteractiveMode panZoomInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _viewer.InteractiveModes.Add(writeBarcodeInteractiveMode); _viewer.InteractiveModes.Add(panZoomInteractiveMode); _viewer.EndUpdate(); UpdateMyControls(); }
private void InitViewer() { // Use ScaleToGray and Bicubic for optimum viewing of black/white and color images RasterPaintProperties props = _rasterImageViewer.PaintProperties; props.PaintDisplayMode |= RasterPaintDisplayModeFlags.Bicubic; if (!RasterSupport.IsLocked(RasterSupportType.Document)) { props.PaintDisplayMode |= RasterPaintDisplayModeFlags.ScaleToGray; } _rasterImageViewer.PaintProperties = props; // Pad the viewer _rasterImageViewer.Padding = new Padding(10); // Set the cursors _noneInteractiveMode = new ImageViewerNoneInteractiveMode(); _panInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _panInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left; _zoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); _zoomToInteractiveMode.RubberBandCompleted += new EventHandler <ImageViewerRubberBandEventArgs>(_rasterImageViewer_InteractiveZoomTo); _rectInteractiveMode = new ImageViewerRubberBandInteractiveMode(); _regionInteractiveMode = new ImageViewerAddRegionInteractiveMode(); _regionInteractiveMode.RubberBandCompleted += new EventHandler <ImageViewerRubberBandEventArgs>(_rasterImageViewer_InteractiveRegionRectangle); _regionInteractiveMode.RubberBandStarted += new EventHandler <ImageViewerRubberBandEventArgs>(RegionInteractiveMode_RubberBandStarted); _rectInteractiveMode.RubberBandCompleted += new EventHandler <ImageViewerRubberBandEventArgs>(RectInteractiveMode_RubberBandCompleted); _noneInteractiveMode.IdleCursor = Cursors.Arrow; _noneInteractiveMode.WorkingCursor = Cursors.Arrow; _panInteractiveMode.IdleCursor = Cursors.Hand; _panInteractiveMode.WorkingCursor = Cursors.Hand; _zoomToInteractiveMode.IdleCursor = Cursors.Cross; _zoomToInteractiveMode.WorkingCursor = Cursors.Cross; _rectInteractiveMode.IdleCursor = Cursors.Cross; _rectInteractiveMode.WorkingCursor = Cursors.Cross; _regionInteractiveMode.IdleCursor = Cursors.Cross; _regionInteractiveMode.WorkingCursor = Cursors.Cross; _rasterImageViewer.InteractiveModes.BeginUpdate(); _rasterImageViewer.InteractiveModes.Add(_noneInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_panInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_zoomToInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_rectInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_regionInteractiveMode); _rasterImageViewer.InteractiveModes.EndUpdate(); }
protected override void OnLoad(EventArgs e) { if (!DesignMode) { // Use ScaleToGray and Bicubic for optimum viewing of black/white and color images RasterPaintProperties props = _rasterImageViewer.PaintProperties; props.PaintDisplayMode |= RasterPaintDisplayModeFlags.ScaleToGray | RasterPaintDisplayModeFlags.Bicubic; _rasterImageViewer.PaintProperties = props; // Pad the viewer _rasterImageViewer.ViewMargin = new Padding(10); _rasterImageViewer.ViewBorderThickness = 1; _automationInteractiveMode = new AutomationInteractiveMode(); _noneInteractiveMode = new ImageViewerNoneInteractiveMode(); _panInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _panInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left; _panInteractiveMode.IdleCursor = Cursors.Hand; _panInteractiveMode.WorkingCursor = Cursors.Hand; _zoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); _zoomToInteractiveMode.RubberBandCompleted += new EventHandler <ImageViewerRubberBandEventArgs>(_rasterImageViewer_InteractiveZoomTo); _rasterImageViewer.InteractiveModes.BeginUpdate(); _rasterImageViewer.InteractiveModes.Add(_noneInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_automationInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_panInteractiveMode); _rasterImageViewer.InteractiveModes.Add(_zoomToInteractiveMode); _rasterImageViewer.InteractiveModes.EndUpdate(); DisableInteractiveModes(); _rasterImageViewer.InteractiveModes.EnableById(_automationInteractiveMode.Id); // These events are needed and not visible from the designer, so // hook into them here _zoomToolStripComboBox.LostFocus += new EventHandler(_zoomToolStripComboBox_LostFocus); _pageToolStripTextBox.LostFocus += new EventHandler(_pageToolStripTextBox_LostFocus); // Call the transform changed event _rasterImageViewer_TransformChanged(_rasterImageViewer, EventArgs.Empty); FitPage(false); _mousePositionLabel.Text = string.Empty; // Initialize the annotation objects InitAnnotations(); } base.OnLoad(e); }
private void CreateAttachmentImageViewer() { // Create an image viewer to be used to show the attachments of a LEADDocument ImageViewerVerticalViewLayout layout = new ImageViewerVerticalViewLayout(); layout.Columns = 0; var imageViewer = new ImageViewer(layout); imageViewer.Dock = DockStyle.Fill; imageViewer.ItemHorizontalAlignment = ControlAlignment.Center; imageViewer.ItemVerticalAlignment = ControlAlignment.Center; imageViewer.ViewPadding = new Padding(8, 8, 8, 8); imageViewer.ItemPadding = new Padding(10, 10, 10, 50); imageViewer.ImageBorderThickness = 1; imageViewer.SelectedItemBackgroundColor = Color.LightBlue; imageViewer.AutoDisposeImages = false; _attachmentsTabPage.Controls.Add(imageViewer); imageViewer.BringToFront(); // Create a select interactive mode ImageViewerSelectItemsInteractiveMode selectItemsMode = new ImageViewerSelectItemsInteractiveMode(); selectItemsMode.SelectionMode = ImageViewerSelectionMode.Single; selectItemsMode.MouseButtons = MouseButtons.Left | MouseButtons.Right; selectItemsMode.ItemActivate += AttachmentImageViewerItemActivate; // Create a pan interactive mode for the area outside the selection ImageViewerPanZoomInteractiveMode panMode = new ImageViewerPanZoomInteractiveMode(); panMode.EnableZoom = false; panMode.DoubleTapSizeMode = ControlSizeMode.None; imageViewer.BeginUpdate(); imageViewer.InteractiveModes.Add(selectItemsMode); imageViewer.InteractiveModes.Add(panMode); imageViewer.EndUpdate(); _attachmentImage = CreateAttachmentImage(imageViewer); imageViewer.SelectedItemsChanged += AttachmentImageViewerSelectedItemChanged; imageViewer.ContextMenuStrip = _attachmentsContextMenu; _attachmentsImageViewer = imageViewer; }
private void Startup() { try { //Check if ocr engine was passed in. The recognition demos have the ability to launch this demo and it will pass //the ocr engine it is using. We will default to that engine if (!StartUpEngines()) { Messager.ShowError(this, "One or more required engines did not start. The application will now close."); this.Close(); return; } Messager.Caption = "LEADTOOLS Business Card Reader"; _bcrReader = new BusinessCardReader(_ocrEngine, _barcodeEngine); } catch (Exception exp) { Messager.ShowError(this, exp); } closeToolStripMenuItem.Enabled = false; _noneInteractiveMode = new ImageViewerNoneInteractiveMode(); _panInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _panInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left; _zoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); rasterImageViewer1.InteractiveModes.BeginUpdate(); rasterImageViewer1.InteractiveModes.Add(_noneInteractiveMode); rasterImageViewer1.InteractiveModes.Add(_panInteractiveMode); rasterImageViewer1.InteractiveModes.Add(_zoomToInteractiveMode); rasterImageViewer1.InteractiveModes.EndUpdate(); this.rasterImageViewer1.PostRender += RasterImageViewer1_PostRender; // Load the default document string defaultDocumentFile = Path.Combine(DemosGlobal.ImagesFolder, "business_card_sample.jpg"); if (File.Exists(defaultDocumentFile)) { OpenImage(defaultDocumentFile); } }
private void InitializeInteractivemodes() { //None NoneInteractiveMode = new ImageViewerNoneInteractiveMode(); _rasterImageViewer.InteractiveModes.Add(NoneInteractiveMode); //Annotations automationInteractiveMode = new AutomationInteractiveMode(); automationInteractiveMode.MouseButtons = System.Windows.Forms.MouseButtons.Left | System.Windows.Forms.MouseButtons.Right; automationInteractiveMode.IdleCursor = Cursors.Default; automationInteractiveMode.WorkingCursor = Cursors.Default; _rasterImageViewer.InteractiveModes.Add(automationInteractiveMode); //Pan PanInteractiveMode = new ImageViewerPanZoomInteractiveMode(); PanInteractiveMode.EnablePan = true; PanInteractiveMode.EnableZoom = false; PanInteractiveMode.EnablePinchZoom = false; PanInteractiveMode.WorkOnBounds = true; _rasterImageViewer.InteractiveModes.Add(PanInteractiveMode); //ZoomTo ZoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); ZoomToInteractiveMode.WorkOnBounds = true; ZoomToInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; ZoomToInteractiveMode.WorkCompleted += new EventHandler(ZoomToInteractiveMode_WorkCompleted); _rasterImageViewer.InteractiveModes.Add(ZoomToInteractiveMode); //Region RegionInteractiveMode = new ImageViewerAddRegionInteractiveMode(); RegionInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; RegionInteractiveMode.AutoRegionToFloater = true; RegionInteractiveMode.WorkOnBounds = true; _rasterImageViewer.InteractiveModes.Add(RegionInteractiveMode); //Rectangle RectangleInteractiveMode = new ImageViewerRubberBandInteractiveMode(); RectangleInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; RectangleInteractiveMode.WorkOnBounds = true; RectangleInteractiveMode.RubberBandCompleted += new EventHandler <ImageViewerRubberBandEventArgs>(RectangleInteractiveMode_RubberBandCompleted); _rasterImageViewer.InteractiveModes.Add(RectangleInteractiveMode); automationInteractiveMode.IsEnabled = true; _rasterImageViewer.InteractiveModes.EnableById(automationInteractiveMode.Id); }
private void InitInteractiveModes() { _imageViewer.InteractiveModes.BeginUpdate(); _imageViewer.InteractiveModes.Clear(); panZoomMode = new ImageViewerPanZoomInteractiveMode(); panZoomMode.IdleCursor = Cursors.Hand; panZoomMode.WorkingCursor = Cursors.Hand; panZoomMode.IsEnabled = true; panZoomMode.WorkOnBounds = true; _imageViewer.InteractiveModes.Add(panZoomMode); zoomToMode = new ImageViewerZoomToInteractiveMode(); zoomToMode.WorkCompleted += new EventHandler(zoomToMode_WorkCompleted); zoomToMode.IdleCursor = Cursors.Cross; zoomToMode.WorkingCursor = Cursors.Cross; zoomToMode.IsEnabled = true; zoomToMode.WorkOnBounds = true; _imageViewer.InteractiveModes.Add(zoomToMode); _imageViewer.InteractiveModes.EndUpdate(); }
private void InitImageViewer() { // Create the control _imageViewer = new ImageViewer(_viewLayouts[1]); _imageViewer.BackColor = SystemColors.AppWorkspace; _imageViewer.Dock = DockStyle.Fill; // Use the image true resolution _imageViewer.UseDpi = true; // We want some padding between the overall viewer and the pages, so _imageViewer.ViewPadding = new Padding(10); // Center the pages horizontally and vertically in the viewer _imageViewer.ViewHorizontalAlignment = ControlAlignment.Center; _imageViewer.ViewVerticalAlignment = ControlAlignment.Center; // Add some spacing between the pages _imageViewer.ItemSpacing = new LeadSize(8, 8); // Add a border to each page _imageViewer.ItemBorderThickness = 2; _imageViewer.ItemBorderColor = Color.Black; // Since we can load SVG documents that has no background color, set one _imageViewer.ImageBackgroundColor = Color.White; this.Controls.Add(_imageViewer); _imageViewer.BringToFront(); // Add the pan/zoom interactive mode var panZoomMode = new ImageViewerPanZoomInteractiveMode { DoubleTapSizeMode = ControlSizeMode.ActualSize }; _imageViewer.InteractiveModes.Add(panZoomMode); }
private void InitInteractiveModes() { _automationInteractiveMode = new AutomationInteractiveMode(); // Don't set the cursors, AnnAutomation will take care of it _automationInteractiveMode.AutomationControl = _automationControl; _magnifyGlassInteractiveMode = new ImageViewerMagnifyGlassInteractiveMode(); _magnifyGlassInteractiveMode.IdleCursor = Cursors.Cross; _magnifyGlassInteractiveMode.WorkingCursor = Cursors.Cross; _panZoomInteractiveMode = new ImageViewerPanZoomInteractiveMode(); _panZoomInteractiveMode.IdleCursor = Cursors.SizeAll; _panZoomInteractiveMode.WorkingCursor = Cursors.SizeAll; ImageViewerInteractiveMode[] modes = { _automationInteractiveMode, _panZoomInteractiveMode, _magnifyGlassInteractiveMode }; _viewer.InteractiveModes.BeginUpdate(); foreach (var mode in modes) { mode.IsEnabled = false; var spyglass = mode as ImageViewerSpyGlassInteractiveMode; if (spyglass != null) { mode.IdleCursor = Cursors.Cross; spyglass.Shape = ImageViewerSpyGlassShape.Rectangle; } _viewer.InteractiveModes.Add(mode); } _automationInteractiveMode.IsEnabled = true; _viewer.InteractiveModes.EndUpdate(); }
private DocumentViewer _svgViewer = null; //The LEADTOOLS ImageViewer Control to view as SVG public MainForm() { InitializeComponent(); // Setup the caption for this demo Messager.Caption = "C# OCR Screen Capture Demo"; this.Text = Messager.Caption; #region LEADTOOLS ImageViewer // Create the LEADTOOLS ImageViewer _imageViewer = new ImageViewer(); // Add it to the Form _splitContainer.Panel1.Controls.Add(_imageViewer); // Set the display properties _imageViewer.BeginUpdate(); _imageViewer.Dock = DockStyle.Fill; _imageViewer.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; _imageViewer.Cursor = System.Windows.Forms.Cursors.Default; _imageViewer.ViewHorizontalAlignment = ControlAlignment.Center; _imageViewer.ViewVerticalAlignment = ControlAlignment.Center; _imageViewer.ItemHorizontalAlignment = ControlAlignment.Center; _imageViewer.ItemVerticalAlignment = ControlAlignment.Center; // Set the layout _imageViewer.ViewLayout = new ImageViewerSingleViewLayout(); _imageViewer.EndUpdate(); // Hook up the Mouse Events _imageViewer.MouseDown += new MouseEventHandler(imageViewer_MouseDown); _imageViewer.MouseMove += new MouseEventHandler(imageViewer_MouseMove); _imageViewer.MouseUp += new MouseEventHandler(imageViewer_MouseUp); _imageViewer.MouseLeave += new EventHandler(imageViewer_MouseLeave); _imageViewer.KeyDown += new KeyEventHandler(imageViewer_KeyDown); _imageViewer.LostFocus += new EventHandler(imageViewer_LostFocus); #endregion LEADTOOLS ImageViewer #region LEADTOOLS DocumentViewer var createOptions = new DocumentViewerCreateOptions() { ViewContainer = _splitContainer.Panel2, ThumbnailsContainer = null, BookmarksContainer = null, UseAnnotations = false }; _svgViewer = DocumentViewerFactory.CreateDocumentViewer(createOptions); _svgViewer.View.PreferredItemType = DocumentViewerItemType.Svg; _svgViewer.Text.AutoGetText = true; _svgViewer.View.ImageViewer.KeyDown += ImageViewer_KeyDown; _svgViewer.Commands.Run(DocumentViewerCommands.InteractiveSelectText); _svgViewer.View.ImageViewer.InteractiveModes.BeginUpdate(); ImageViewerPanZoomInteractiveMode panZoom = new ImageViewerPanZoomInteractiveMode() { MouseButtons = MouseButtons.Middle }; _svgViewer.View.ImageViewer.InteractiveModes.Add(panZoom); _svgViewer.View.ImageViewer.InteractiveModes.EndUpdate(); ContextMenu viewerContextMenu = new ContextMenu(); MenuItem selectAllMenuItem = new MenuItem("Select All"); selectAllMenuItem.Click += (s, e) => { _svgViewer.Commands.Run(DocumentViewerCommands.TextSelectAll); }; viewerContextMenu.MenuItems.Add(selectAllMenuItem); MenuItem copyText = new MenuItem("Copy"); copyText.Click += (s, e) => { _svgViewer.Commands.Run(DocumentViewerCommands.TextCopy); }; viewerContextMenu.MenuItems.Add(copyText); _svgViewer.View.ImageViewer.ContextMenu = viewerContextMenu; _svgViewer.View.ImageViewer.MouseDoubleClick += ImageViewer_MouseDoubleClick; #endregion LEADTOOLS DocumentViewer }
private void InitializeInteractivemodes() { _viewer.InteractiveModes.BeginUpdate(); //None NoneInteractiveMode = new ImageViewerNoneInteractiveMode(); NoneInteractiveMode.IsEnabled = true; _viewer.InteractiveModes.Add(NoneInteractiveMode); //Floater FloaterInteractiveMode = new ImageViewerFloaterInteractiveMode(); FloaterInteractiveMode.EnablePan = true; FloaterInteractiveMode.EnableZoom = false; FloaterInteractiveMode.EnablePinchZoom = false; FloaterInteractiveMode.WorkOnBounds = true; FloaterInteractiveMode.FloaterRegionRenderMode = ControlRegionRenderMode.Animated; _viewer.InteractiveModes.Add(FloaterInteractiveMode); //Pan PanInteractiveMode = new ImageViewerPanZoomInteractiveMode(); PanInteractiveMode.EnablePan = true; PanInteractiveMode.EnableZoom = false; PanInteractiveMode.EnablePinchZoom = false; PanInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(PanInteractiveMode); //CenterAt CenterAtInteractiveMode = new ImageViewerCenterAtInteractiveMode(); CenterAtInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(CenterAtInteractiveMode); //Add Magic Wand AddMagicWandInteractivMode = new ImageViewerAddMagicWandInteractivMode(); AddMagicWandInteractivMode.Threshold = 100; AddMagicWandInteractivMode.IsEnabled = false; AddMagicWandInteractivMode.WorkOnBounds = true; AddMagicWandInteractivMode.WorkCompleted += new EventHandler(AddMagicWandInteractivMode_WorkCompleted); _viewer.InteractiveModes.Add(AddMagicWandInteractivMode); //ZoomTo ZoomToInteractiveMode = new ImageViewerZoomToInteractiveMode(); ZoomToInteractiveMode.WorkOnBounds = true; ZoomToInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; _viewer.InteractiveModes.Add(ZoomToInteractiveMode); //Scale ScaleInteractiveMode = new ImageViewerPanZoomInteractiveMode(); ScaleInteractiveMode.ZoomKeyModifier = Keys.None; ScaleInteractiveMode.EnablePan = false; ScaleInteractiveMode.EnableZoom = true; ScaleInteractiveMode.EnablePinchZoom = false; ScaleInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(ScaleInteractiveMode); //Pager PagerInteractiveMode = new ImageViewerPagerInteractiveMode(); PagerInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(PagerInteractiveMode); //MagnifyGlass MagnifyGlassInteractiveMode = new ImageViewerMagnifyGlassInteractiveMode(); MagnifyGlassInteractiveMode.BorderPen = new Pen(Brushes.Red); MagnifyGlassInteractiveMode.Crosshair = ImageViewerSpyGlassCrosshair.Fine; MagnifyGlassInteractiveMode.CrosshairPen = new Pen(Brushes.Red); MagnifyGlassInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(MagnifyGlassInteractiveMode); //Region RegionInteractiveMode = new ImageViewerAddRegionInteractiveMode(); RegionInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; RegionInteractiveMode.AutoRegionToFloater = true; RegionInteractiveMode.WorkOnBounds = true; RegionInteractiveMode.WorkCompleted += new EventHandler(RegionInteractiveMode_WorkCompleted); RegionInteractiveMode.IsEnabled = false; _viewer.InteractiveModes.Add(RegionInteractiveMode); //Rectangle RectangleInteractiveMode = new ImageViewerRubberBandInteractiveMode(); RectangleInteractiveMode.Shape = ImageViewerRubberBandShape.Rectangle; RectangleInteractiveMode.WorkOnBounds = true; _viewer.InteractiveModes.Add(RectangleInteractiveMode); _viewer.InteractiveModes.EndUpdate(); }
private void InitInteractiveModes() { noneMode = _viewerControl.NoneInteractiveMode; panMode = _viewerControl.PanZoomInteractiveMode; zoomToMode = _viewerControl.ZoomToInteractiveMode; }
// Create the document viewer private void InitDocumentViewer(DocumentScanType scanType) { var createOptions = new DocumentViewerCreateOptions(); // Set the UI part where the main view is displayed createOptions.ViewContainer = DocumentViewerContainer; createOptions.ThumbnailsContainer = ThumbnailsLayout; createOptions.UseAnnotations = true; // Now create the viewer _documentViewer = DocumentViewerFactory.CreateDocumentViewer(createOptions); // Set the user name _documentViewer.UserName = Environment.UserName; // We prefer SVG viewing (if supported) _documentViewer.View.PreferredItemType = DocumentViewerItemType.Svg; // Set thumbnail viewer options ImageViewer thumbnailsImageViewer = _documentViewer.Thumbnails.ImageViewer; thumbnailsImageViewer.BackgroundColor = Color.Transparent; thumbnailsImageViewer.ItemHorizontalAlignment = ControlAlignment.Near; thumbnailsImageViewer.ItemVerticalAlignment = ControlAlignment.Near; thumbnailsImageViewer.SelectedItemBackgroundColor = Color.FromRgb(80, 131, 242); _documentViewer.Operation += _documentViewer_Operation; var imageViewer = _documentViewer.View.ImageViewer; imageViewer.BackgroundColor = Color.FromHex("#F5F7FA"); #if LEADTOOLS_V21_OR_LATER imageViewer.IsFastScrollGadgetEnabled = true; #endif // #if LEADTOOLS_V21_OR_LATER imageViewer.ViewVerticalAlignment = ControlAlignment.Near; imageViewer.ViewBorderThickness = 0; imageViewer.ItemBorderThickness = 0; imageViewer.ImageBorderThickness = 0; imageViewer.Zoom(ControlSizeMode.FitWidth, 1, imageViewer.DefaultZoomOrigin); imageViewer.InteractiveService.KeyDown += InteractiveService_KeyDown; // By default, document viewer has 11 interactive modes added and we don't need them all in our document viewer page. // So remove them all exception PanZoom, SelectText and Annotations interactive modes. ImageViewerPanZoomInteractiveMode panZoomMode = null; var panZoomModes = imageViewer.InteractiveModes.Where(mode => mode.GetType() == typeof(ImageViewerPanZoomInteractiveMode) && (mode as ImageViewerPanZoomInteractiveMode).EnablePan && (mode as ImageViewerPanZoomInteractiveMode).EnablePinchZoom); if (panZoomModes != null && panZoomModes.Count() > 0) { panZoomMode = panZoomModes.ElementAt(0) as ImageViewerPanZoomInteractiveMode; } DocumentViewerSelectTextInteractiveMode selectTextMode = null; var selectTextModes = imageViewer.InteractiveModes.Where(mode => mode.GetType() == typeof(DocumentViewerSelectTextInteractiveMode)); if (selectTextModes != null && selectTextModes.Count() > 0) { selectTextMode = selectTextModes.ElementAt(0) as DocumentViewerSelectTextInteractiveMode; } AnnotationsInteractiveMode annotationsMode = null; var annotationsModes = imageViewer.InteractiveModes.Where(mode => mode.GetType() == typeof(AnnotationsInteractiveMode)); if (annotationsModes != null && annotationsModes.Count() > 0) { annotationsMode = annotationsModes.ElementAt(0) as AnnotationsInteractiveMode; } imageViewer.BeginUpdate(); imageViewer.InteractiveModes.Clear(); imageViewer.InteractiveModes.Add(annotationsMode); imageViewer.InteractiveModes.Add(panZoomMode); imageViewer.InteractiveModes.Add(selectTextMode); imageViewer.EndUpdate(); // Helps with debugging of there was a rendering error imageViewer.RenderError += (sender, e) => { var message = string.Format("Error while rendering item {0} part {1}: {2}", e.Item != null ? imageViewer.Items.IndexOf(e.Item) : -1, e.Part, e.Error.Message); System.Diagnostics.Debug.WriteLine(message); }; InitAutomation(); _documentViewer.Text.AutoGetText = true; //_documentViewer.Commands.Run(DocumentViewerCommands.InteractiveAutoPan); _documentViewer.View.ImageViewer.ScrollOffsetChanged -= ImageViewer_ScrollOffsetChanged; if (scanType == DocumentScanType.Document) { _documentViewer.View.ImageViewer.ScrollOffsetChanged += ImageViewer_ScrollOffsetChanged; } // If the scan type is Document enable the pan/zoom interactive mode by default otherwise (Text scan type) enable select text interactive mode by default. if (scanType == DocumentScanType.Document) { _documentViewer.Commands.Run(DocumentViewerCommands.InteractivePanZoom); _activeInteractiveMode = DocumentViewerCommands.InteractivePanZoom; } else { _activeInteractiveMode = DocumentViewerCommands.InteractiveSelectText; } UpdateUIState(); // Enable inertia scroll ToggleInertiaScroll(false); }