From ce93a032efbb365b6394ffe599979fd8f0e6cb36 Mon Sep 17 00:00:00 2001 From: Jaex Date: Tue, 31 May 2022 23:28:06 +0300 Subject: [PATCH] Code refactoring --- ShareX/OCR/OCRForm.cs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ShareX/OCR/OCRForm.cs b/ShareX/OCR/OCRForm.cs index 5c882c775..ddac4bd16 100644 --- a/ShareX/OCR/OCRForm.cs +++ b/ShareX/OCR/OCRForm.cs @@ -120,15 +120,15 @@ private void UpdateControls() pbStatus.Visible = busy; } - private async Task OCR() + private async Task OCR(Bitmap bmp) { - if (bmpSource != null && !string.IsNullOrEmpty(Options.Language)) + if (bmp != null && !string.IsNullOrEmpty(Options.Language)) { busy = true; txtResult.Text = ""; UpdateControls(); - Result = await OCRHelper.OCR(bmpSource, Options.Language, Options.ScaleFactor); + Result = await OCRHelper.OCR(bmp, Options.Language, Options.ScaleFactor); if (Options.AutoCopy && !string.IsNullOrEmpty(Result)) { @@ -146,7 +146,7 @@ private async Task OCR() private async void OCRForm_Shown(object sender, EventArgs e) { - await OCR(); + await OCR(bmpSource); } private async void btnSelectRegion_Click(object sender, EventArgs e) @@ -154,12 +154,16 @@ private async void btnSelectRegion_Click(object sender, EventArgs e) FormWindowState previousState = WindowState; WindowState = FormWindowState.Minimized; await Task.Delay(250); - bmpSource?.Dispose(); - bmpSource = RegionCaptureTasks.GetRegionImage(new RegionCaptureOptions()); + Bitmap regionImage = RegionCaptureTasks.GetRegionImage(new RegionCaptureOptions()); WindowState = previousState; - await Task.Delay(250); - await OCR(); + if (regionImage != null) + { + bmpSource?.Dispose(); + bmpSource = regionImage; + await Task.Delay(250); + await OCR(bmpSource); + } } private async void cbLanguages_SelectedIndexChanged(object sender, EventArgs e) @@ -168,7 +172,7 @@ private async void cbLanguages_SelectedIndexChanged(object sender, EventArgs e) { Options.Language = ((OCRLanguage)cbLanguages.SelectedItem).LanguageTag; - await OCR(); + await OCR(bmpSource); } } @@ -178,7 +182,7 @@ private async void nudScaleFactor_ValueChanged(object sender, EventArgs e) { Options.ScaleFactor = (float)nudScaleFactor.Value; - await OCR(); + await OCR(bmpSource); } }