private void exportToTextToolStripMenuItem_Click(object sender, EventArgs e) { try { StartExport(); var thread = new Thread(() => { var ocr = new IronTesseract(); ocr.SetLanguage((int)readComboBoxSelected(cbxLanguages)); using (Image img = (Image)picBox.Image?.Clone()) { if (img != null) { OcrInput ocrInput = new OcrInput(img); var text = ocr.Read(ocrInput).Text; txtRes.Invoke(new DisplayResultTextDelegate(DisplayResultText), text); } else { txtRes.Invoke(new DisplayResultTextDelegate(DisplayResultText), string.Empty); } } }); thread.IsBackground = true; thread.Start(); } catch (Exception ex) { EndExport(); MessageBox.Show(ex.Message, "Có lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
static void Main(string[] args) { Console.WriteLine("Loading files..."); var path = @"C:\Frelancing\ConsoleApp\OCR_Apps\IronOCR\Files\"; List <string> paths = Directory.EnumerateFiles(path, "*.pdf").ToList(); var searchableKeyCv = new List <string>(); foreach (string filePath in paths) { Console.WriteLine("Read File- " + filePath); Console.WriteLine("Start-" + DateTime.Now); var ocr = new IronTesseract(); using (var input = new OcrInput(filePath)) { var result = ocr.Read(input); var text = result.Text; if (text.Contains("React")) { searchableKeyCv.Add("React"); } //if (text.Contains("ETL")) // searchableKeyCv.Add("ETL"); Console.WriteLine("End-" + DateTime.Now); } } Console.WriteLine("Searchable Key Result-"); foreach (var item in searchableKeyCv) { Console.WriteLine(item); } Console.ReadKey(); }
public static void SetLanguage(this IronTesseract ocr, int selectedValue) { switch ((enumLanguages)selectedValue) { case enumLanguages.English: ocr.Language = OcrLanguage.English; break; case enumLanguages.Vietnamese: ocr.Language = OcrLanguage.Vietnamese; break; case enumLanguages.Japanese: ocr.Language = OcrLanguage.Japanese; break; case enumLanguages.ChineseSimplified: ocr.Language = OcrLanguage.ChineseSimplified; break; case enumLanguages.ChineseTraditional: ocr.Language = OcrLanguage.ChineseTraditional; break; default: ocr.Language = OcrLanguage.English; break; } }
public static ProcessedInvoice[] Process(string[] path) { var Ocr = new IronTesseract() { Configuration = new TesseractConfiguration(), Language = Languages.English.OcrLanguagePack, }; Console.WriteLine(path.Length); try { List <Task <ProcessedInvoice> > tasks = new List <Task <ProcessedInvoice> >(); Stopwatch stopwatch = Stopwatch.StartNew(); foreach (string p in path) { tasks.Add(Task.Run(() => ProcessDocument(p, Ocr))); } Task.WaitAll(tasks.ToArray()); stopwatch.Stop(); Console.WriteLine(stopwatch.Elapsed.TotalSeconds); return(tasks.Select(a => a.Result).ToArray()); } catch (Exception) { } return(null); }
public async void DoAsyncOCR() { var image = Screenshot(Screen.AllScreens[(int)NUDDisplay.Value - 1]); IronTesseract IronOCR = new IronTesseract(); OcrResult Result = await Task.Run(() => IronOCR.Read(image)); var s = trimmer.Replace(Result.Text, " "); s = s.Replace(".", ""); string[] words = s.Split(' '); Console.WriteLine("Comparing Pokemon"); List <string> FoundPKMN = new List <string>(); foreach (var WordFromScreen in words.Where(x => !string.IsNullOrWhiteSpace(x))) { foreach (var PokemonName in PokemonData.getPokemonNames()) { double Simularity = CalculateSimilarity(WordFromScreen, PokemonName); if (Simularity >= (double)Tolerance && !FoundPKMN.Contains(PokemonName)) { FoundPKMN.Add(PokemonName); } } } FoundPKMN.Sort(); FoundPKMN.Reverse(); PrintResults(FoundPKMN); }
public void CaptureScreen() { //screenshot into png //string dir = AppDomain.CurrentDomain.BaseDirectory; Screenshot ps = new Screenshot(); Image i = ps.CaptureScreen(); //png into txt var Ocr = new IronTesseract(); string r = ""; using (var Input = new OcrInput(i)) { //TODO: this Read is having problems!! var Result = Ocr.Read(Input); r = Result.Text; } Console.WriteLine($"Result: {r}"); if (r.Contains("captcha") || r.Contains("Captcha")) { Stop(); Console.WriteLine("\nVerify detected, stopped all timers!"); } else { Console.WriteLine("\nNo Verify detected."); } }
public BillOfLadingModel Read(IFormFile file) { var result = new BillOfLadingModel(); var ss = new StorageService(); var it = new IronTesseract(); //ss.Upload(file); try { using (var input = new OcrInput()) { input.AddPdf(file.OpenReadStream()); var oRes = it.Read(input); var words = oRes.Words; result.Transporter.BLNumber = words.GetBLNumber(); } } catch (System.Exception e) { System.Diagnostics.Debug.WriteLine(e); } return(result); }
static void ScanImageAndSaveTxt(string path) { var Ocr = new IronTesseract(); Ocr.Configuration.BlackListCharacters = "~`$#^*_}{][|\\@-©<>«="; Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4; Ocr.Configuration.RenderSearchablePdfsAndHocr = true; Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto; Ocr.Language = OcrLanguage.GermanBest; // var result = Ocr.Read(@"C:\Users\d4gei\Workspace\ScanAndHoardData\TestData\PXL_20201126_130717460.jpg"); //Console.WriteLine(result.Text); using (var Input = new OcrInput()) { Input.AddImage(path); Input.DeNoise(); //fixes digital noise Input.Deskew(); //fixes rotation and perspective // there are dozens more filters, but most users wont need them IronOcr.OcrResult Result = Ocr.Read(Input); Console.WriteLine(Result.Text); Result.SaveAsTextFile(path + ".txt"); Result.SaveAsHocrFile(path + ".html"); Result.SaveAsSearchablePdf(path + ".pdf"); } }
private void button1_Click(object sender, EventArgs e) { if (pictureBox1.ImageLocation == null) { string message = "Please drag image file to the top frame to continue..."; string caption = "Oops..."; MessageBoxButtons buttons = MessageBoxButtons.OK; DialogResult result; result = MessageBox.Show(message, caption, buttons); } else { var Ocr = new IronTesseract(); using (var Input = new OcrInput(pictureBox1.ImageLocation)) //show in the window { var Result = Ocr.Read(Input); textBox1.Text = Result.Text; textBox1.ScrollBars = ScrollBars.Both; } using (var Input = new OcrInput(pictureBox1.ImageLocation)) //the text every line without withspace { string text = Ocr.Read(Input).Text; Calculate c = new Calculate(text); c.CalculateLanguage();// calculate the language } } }
static void Main(string[] args) { var Result = new IronTesseract().Read(@"C:\Users\hrust\Downloads\pic 3.jpg"); File.WriteAllText(@"C:\Users\hrust\Downloads\temp_text.txt", Result.Text); Console.WriteLine(Result.Text); }
public async Task <IActionResult> Index(IbanScanViewModel model) { // Check if it's an image. if (!model.ImageFile.IsImage()) { return(RedirectToAction(nameof(Index))); } var imagePath = Path.Combine(_hostEnvironment.WebRootPath, "images"); if (!Directory.Exists(imagePath)) { Directory.CreateDirectory(imagePath); } // Upload image using (var fs = new FileStream(Path.Combine(imagePath, model.ImageFile.FileName), FileMode.Create)) await model.ImageFile.CopyToAsync(fs); const string ibanRegex = "[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}"; var newImagePath = Path.Combine(imagePath, model.ImageFile.FileName); var result = new IronTesseract().Read(newImagePath); var textResult = result.Text; var text = ""; // Delete Gaps for (int i = 0; i < textResult.Length; i++) { if (textResult[i] == ' ') { continue; } text += textResult[i]; } var match = Regex.Match(text, ibanRegex); IbanScanViewModel resultModel; if (match.Success) { resultModel = new IbanScanViewModel { Success = true, Iban = match.Value }; } else { resultModel = new IbanScanViewModel { Success = false }; } return(View(resultModel)); }
/// <inheritdoc cref="IImageOcrReader"/> /// <summary> /// Reads the text on the given image. /// </summary> /// <param name="fileName">The file name.</param> /// <returns>The read <see cref="string"/>.</returns> /// <seealso cref="IImageOcrReader"/> public string ReadTextOnImage(string fileName) { var ocrHelper = new IronTesseract(); using var input = new OcrInput(fileName); input.Deskew(); input.DeNoise(); var result = ocrHelper.Read(input); return(result.Text); }
private void button2_Click(object sender, EventArgs e) { var Ocr = new IronTesseract(); using (var input = new OcrInput(fileName)) { input.Deskew(); var result = Ocr.Read(input); richTextBox1.Text = result.Text; } }
public static string OCRcheck(int RectUpperLeftX, int RectUpperLeftY, int RectWith = 140, int RectHigh = 45, string Whitelist = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ß! -%/äüöÄÜÖ") { Bitmap src = new Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height); // Create an empty bitmap with the size of all connected screen Graphics graphics = Graphics.FromImage(src as Image); // Create a new graphics objects that can capture the scree graphics.CopyFromScreen(SystemInformation.VirtualScreen.Left, SystemInformation.VirtualScreen.Top, 0, 0, src.Size); // Screenshot moment → screen content to graphics object FullsizeImage = src; Rectangle cropRect = new Rectangle(RectUpperLeftX, RectUpperLeftY, RectWith, RectHigh); Bitmap cropped = (Bitmap)src.Clone(cropRect, src.PixelFormat); cropped.Save("c:\\temp\\SrcTest.png"); var OCR = new IronTesseract(); OCR.Language = OcrLanguage.GermanFast; //OCR.Configuration.BlackListCharacters = "013456789"; OCR.Configuration.WhiteListCharacters = Whitelist; OCR.Configuration.ReadBarCodes = false; //OCR.Configuration.RenderSearchablePdfsAndHocr = false; string OCRText = OCR.Read(cropped).Text; if (OCRText == null || OCRText == "") { TransformedCropImage = Transform(cropped); TransformedCropImage.Save("c:\\temp\\SrcTestTransform.png"); OCR.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleChar; OCRText = OCR.Read(TransformedCropImage).Text; if (OCRText == "" || OCRText == null) { OCR.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; Bitmap resizedCropped = new Bitmap(cropped.Width + cropped.Width + cropped.Width, cropped.Height); //creating empty Bitmap - 3times the Width of the cropped Image using (Graphics g = Graphics.FromImage(resizedCropped)) { g.DrawImage(cropped, 0, 0); //Adding Image 1 on pos 0,0 g.DrawImage(cropped, cropped.Width, 0); //Adding Image 2 on pos Image1.Witdh,0 g.DrawImage(cropped, cropped.Width + cropped.Width, 0); } resizedCropped.Save("c:\\temp\\SrcTestresizedCropped.png"); OCRText = OCR.Read(resizedCropped).Text; if (OCRText.Length == 6) { OCRText = OCRText.Substring(0, 2); } else if (OCRText.Length == 3) { OCRText = OCRText.Substring(0, 1); } } } log.Debug("OCR text: " + OCRText); LoopGarbageCollector.ClearGarbageCollector(); return(OCRText); }
public static string IronOCR(string imagepath) // Iron_圖片辨識 { var Ocr = new IronTesseract(); using (var Input = new OcrInput(imagepath)) { Input.Deskew(); // use if image not straight Input.DeNoise(); // use if image contains digital noise var Result = Ocr.Read(Input); return(Result.Text); } }
static void Main(string[] args) { var Ocr = new IronTesseract(); using (var Input = new OcrInput()) { Input.AddMultiFrameTiff(@"C:\Users\hrust\Downloads\pic 3.jpg"); var Result = Ocr.Read(Input); Result.SaveAsSearchablePdf("searchable.pdf"); } }
private static ProcessedInvoice ProcessDocument(string path, IronTesseract ocr) { string text = ""; if (System.IO.Path.GetExtension(path) == ".pdf") { PdfReader reader = new PdfReader(path); text = PdfTextExtractor.GetTextFromPage(reader, 1); } else if (System.IO.Path.GetExtension(path) == ".docx") { var doc = DocX.Load(path); Headers h = doc.Headers; text = ""; if (h.Even != null && h.Even.Paragraphs != null) { foreach (Paragraph p in h.Even?.Paragraphs) { text += p.Text; } } if (h.Odd != null && h.Odd.Paragraphs != null) { foreach (Paragraph p in h.Odd?.Paragraphs) { text += p.Text; } } if (h.First != null && h.First.Paragraphs != null) { foreach (Paragraph p in h.First?.Paragraphs) { text += p.Text; } } text += doc.Text; Console.WriteLine(text); } else { text = ocr.Read(path).Text; } return(ProcessInvoice(text, path)); }
private async void Timer_Tick(object sender, EventArgs e) { using (var screen = GetScreen(Screen.PrimaryScreen)) foreach (var captureArea in _captureAreas.Where(cs => cs.IsEnabled)) { if (DateTime.Now - _lastTimes[captureArea] < captureArea.Interval) { continue; } _lastTimes[captureArea] = DateTime.Now; using (var bmp = new Bitmap(captureArea.Size.Width, captureArea.Size.Height)) { using (var gr = Graphics.FromImage(bmp)) gr.DrawImageUnscaled(screen, -captureArea.Point.X, -captureArea.Point.Y, captureArea.Size.Width, captureArea.Size.Height); //bmp.Save(@"C:\_\10\06\2.jpg", ImageFormat.Jpeg); var s = new IronTesseract().Read(bmp).Text; if (!string.IsNullOrEmpty(s)) { s.Equals(null); } using (var memory = new MemoryStream()) { bmp.Save(memory, ImageFormat.Bmp); memory.Position = 0; var bmpDecoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(memory.AsRandomAccessStream()); var softwareBmp = await bmpDecoder.GetSoftwareBitmapAsync(); var ocrResult = await _ocrEngine.RecognizeAsync(softwareBmp); TextCaptured?.Invoke(captureArea, ocrResult.Lines.Select(ln => ln.Text).ToArray()); if (ImageCaptured != null) { memory.Position = 0; var bitmapimage = new BitmapImage(); bitmapimage.BeginInit(); bitmapimage.StreamSource = memory; bitmapimage.CacheOption = BitmapCacheOption.OnLoad; bitmapimage.EndInit(); ImageCaptured.Invoke(captureArea, bitmapimage); } } } } }
public Watch() { InitializeComponent(); ControlExtension.Draggable(panel2, true); Ocr = new IronTesseract(); t = new Timer(); t.Interval = 1000; t.Tick += new EventHandler(timer_Tick); t.Start(); readAndShow(); }
private void TranslateFileInnerEngener() { string file = FilePath.Text; // ☜ jpg, gif, tif, pdf, etc. PBOCR.Value = 30; //var Ocr = new IronOcr.AdvancedOcr(); try { //Ocr.CleanBackgroundNoise = true; //Ocr.EnhanceContrast = true; //Ocr.EnhanceResolution = true; //Ocr.Language = IronOcr.o OcrLanguagePack( // Languages.ChineseSimplified.OcrLanguagePack, // Languages.English.OcrLanguagePack //); //PBOCR.Value = 40; //Ocr.Strategy = IronOcr.AdvancedOcr.OcrStrategy.Advanced; //Ocr.ColorSpace = AdvancedOcr.OcrColorSpace.Color; //Ocr.DetectWhiteTextOnDarkBackgrounds = true; //Ocr.InputImageType = AdvancedOcr.InputTypes.AutoDetect; //Ocr.RotateAndStraighten = true; //Ocr.ReadBarCodes = true; //Ocr.ColorDepth = 4; //var testDocument = file; //PBOCR.Value = 45; //var Results = Ocr.Read(testDocument); //PBOCR.Value = 80; //ResultTest.Text = Results.Text; //PBOCR.Value = 90; var Ocr = new IronTesseract(); using (var Input = new OcrInput(file)) { Ocr.Language = OcrLanguage.EnglishBest; //Ocr.AddSecondaryLanguage(OcrLanguage.ChineseSimplified); // Input.Deskew(); // use if image not straight //Input.DeNoise(); // use if image contains digital noise var Result = Ocr.Read(Input); //Console.WriteLine(Result.Text); ResultTest.Text = Result.Text; } } catch (Exception) { ResultTest.Text = "本地引擎在分析是出错,请联系管理员!"; } PBOCR.Value = 100; }
public void ReadScreen(string image) { string result; var cr = new IronTesseract(); using (var input = new OcrInput(Imagepath + $"TeamGold\\{image}")) { input.DeNoise(); result = cr.Read(input).Text; } int index = 0; double gold = 0; char[] tmpGoldValue = result.ToCharArray(); char[] goldValue = new char[5]; foreach (char c in tmpGoldValue) { if (c != ' ') { goldValue[index] = c; index++; } } if (double.TryParse(goldValue[0].ToString() + goldValue[1].ToString(), out double resultV)) { gold += resultV; } if (double.TryParse(goldValue[3].ToString(), out double resultV2)) { gold += resultV2 / 10; } if (image == "GoldBlueTeam.png") { GoldBlue = gold; } else if (image == "GoldRedTeam.png") { GoldRed = gold; } }
public static string ConvertImgToText(Bitmap bt) { var Ocr = new IronTesseract(); // Fast Dictionary Ocr.Language = OcrLanguage.EnglishFast; // Latest Engine Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5; //AI OCR only without font analysis //Ocr.Configuration.EngineMode = TesseractEngineMode.LstmOnly; //Turn off unneeded options Ocr.Configuration.ReadBarCodes = false; Ocr.Configuration.RenderSearchablePdfsAndHocr = false; // Assume text is laid out neatly in an orthagonal document Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto; using (var Input = new OcrInput(bt)) { var Result = Ocr.Read(Input); return(Result.Text); } }
public MainForm() { InitializeComponent(); WindowState = FormWindowState.Normal; StartPosition = FormStartPosition.Manual; BringToFront(); Left = 1920 - Width; Width += 7; Height += 7; Top = 0; Ocr = new IronTesseract(); initTable(); comboBoxGain.SelectedIndex = 1; comboBoxValue.SelectedIndex = comboBoxValue.Items.Count - 1; radioButtonBlack.Checked = true; updateTable(); }
private void btnTransform_Click(object sender, EventArgs e) { btnTransform.Enabled = false; var Ocr = new IronTesseract(); // Если выбран русский язык switch (cbLanguage.SelectedIndex) { case 0: Ocr.Language = OcrLanguage.EnglishBest; break; case 1: Ocr.Language = OcrLanguage.RussianBest; break; } using (var Input = new OcrInput(pbPic.Image)) { // Если изображение неровное if (chbAlign.Checked) { Input.Deskew(); } // Очистка шума if (chbNoise.Checked) { Input.DeNoise(); } var Result = Ocr.Read(Input); tbText.Text = Result.Text; } btnTransform.Enabled = true; }
private async void Form1_Load(object sender, EventArgs e) { Aletorio = oRandom.Next(0, 9999); //MessageBox.Show(Aletorio.ToString()); //string urlCaptcha = "https://e-consultaruc.sunat.gob.pe/cl-ti-itmrconsmulruc/captcha?accion=image"; string urlCaptcha = string.Format("https://e-consultaruc.sunat.gob.pe/cl-ti-itmrconsruc/captcha?accion=image&nmagic={0}", Aletorio); try { HttpResponseMessage response = await client.GetAsync(urlCaptcha); response.EnsureSuccessStatusCode(); Stream oStream = await response.Content.ReadAsStreamAsync(); //byte[] oMemoryStream = await response.Content.ReadAsByteArrayAsync(); Image oImage = Image.FromStream(oStream); var oCr = new IronTesseract(); using (var Input = new OcrInput(oImage)) { var Results = oCr.Read(Input); txtCaptcha.Text = Results.Text.Trim(); } pbImagen.Image = oImage; //var OcrEngine = new TesseractEngine("","eng", EngineMode.Default); //var img = Pix.LoadFromMemory(oMemoryStream); //var res = OcrEngine.Process(img); //txtCaptcha.Text = res.GetText(); } catch (HttpRequestException ex) { Console.WriteLine("\nException Caught!"); Console.WriteLine("Message :{0} ", ex.Message); } }
public IronOcrSalesInvoiceReader(IronTesseract ocr, IInvoiceTotalSum invoiceTotal) { this.ocr = ocr; this.invoiceTotal = invoiceTotal; }
private async void HandleOcrProcess(object sender, RoutedEventArgs e) // OCR 작업을 위한 이벤트 핸들러 { // selectedImg에 소스가 없을 시 종료 if (selectedImgPath == null) { MessageBox.Show("사진을 선택해주세요!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); return; } // 응용프로그램 제어 방지 Mouse.OverrideCursor = Cursors.Wait; BlockGrid.Visibility = Visibility.Visible; StatusLabel.Content = "사진-텍스트 변환중"; var set = Properties.Settings.Default; try { var Ocr = new IronTesseract(); if (koreanCheck.IsChecked == true) { Ocr.Language = OcrLanguage.KoreanBest; } else if (englishCheck.IsChecked == true) { Ocr.Language = OcrLanguage.EnglishBest; } else { // 응용프로그램 오류 방지를 위한 재시작 MessageBox.Show("언어선택에서 오류가 발생했습니다. 다시 실행합니다...", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); System.Diagnostics.Process.Start(Application.ResourceAssembly.Location); Application.Current.Shutdown(); } // OCR 작업 비동기 대기 using var Input = new OcrInput(selectedImgPath); var Result = await Ocr.ReadAsync(Input); // OCR 결과 텍스트를 정규식을 통해 불필요한 문자 제거 string resultString = Result.Text; resultString = Regex.Replace(resultString, @"[`@#$&*_{}[\]|\\;<>/]", "", RegexOptions.Singleline); resultString = Regex.Replace(resultString, "\\s+", " "); resultString = resultString.Trim(); // 맞춤법 검사 시행 StatusLabel.Content = "맞춤법 검사중"; resultString = await HandleSpellCheck(resultString); // 결과 텍스트 텍스트박스에 출력 ocrResultTextBox.Text = resultString; // 텍스트 파일 저장 옵션 설정이 되어있을시 저장 시행 if (set.IsTextSave) { string filePath = null; string fileName = Path.GetFileName(selectedImgPath); // 사용자가 저장 경로를 지정했는지 확인 후 저장 경로 설정 if (set.IsSavePathCustomed) { filePath = set.SavePath + "/txt/"; } else { filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/ITS/txt/"; } // 파일 경로 및 파일 이름 설정 string fileFullName = $"{filePath}{fileName}.txt"; // 중복된 파일이 존재할시 덮어쓸지 메세지 박스를 통해 알림 if (File.Exists(fileFullName)) { var dr = MessageBox.Show($"{fileFullName}이 이미 존재합니다. 덮어쓰시겠습니까?", "중복", MessageBoxButton.YesNo, MessageBoxImage.Question); if (dr == MessageBoxResult.Yes) { // 기존 텍스트 파일 제거 저장 비동기 대기 File.Delete(fileFullName); await File.WriteAllTextAsync(fileFullName, resultString.Replace(". ", ".\n")); // 가독성을 위한 ". " 이후 줄 변경 } else { return; } } else { // 텍스트 파일 저장 비동기 대기 await File.WriteAllTextAsync(fileFullName, resultString.Replace(". ", ".\n")); // 가독성을 위한 ". " 이후 줄 변경 } } } catch (Exception ex) { // 예외 처리 Console.WriteLine(ex); } finally { // 제어 방지 해제 BlockGrid.Visibility = Visibility.Hidden; Mouse.OverrideCursor = null; } }