mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-29 17:02:05 +13:00
fixed #2134: Added OCR image button to main window right click task menu
This commit is contained in:
parent
bfe0fa5f4a
commit
abed719861
5 changed files with 73 additions and 19 deletions
10
ShareX/Forms/MainForm.Designer.cs
generated
10
ShareX/Forms/MainForm.Designer.cs
generated
|
@ -154,6 +154,7 @@ private void InitializeComponent()
|
|||
this.tsmiShortenSelectedURL = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiShareSelectedURL = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiShowQRCode = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiOCRImage = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiShowResponse = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiClearList = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tssUploadInfo1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
|
@ -908,6 +909,7 @@ private void InitializeComponent()
|
|||
this.tsmiShortenSelectedURL,
|
||||
this.tsmiShareSelectedURL,
|
||||
this.tsmiShowQRCode,
|
||||
this.tsmiOCRImage,
|
||||
this.tsmiShowResponse,
|
||||
this.tsmiClearList,
|
||||
this.tssUploadInfo1,
|
||||
|
@ -1212,6 +1214,13 @@ private void InitializeComponent()
|
|||
resources.ApplyResources(this.tsmiShowQRCode, "tsmiShowQRCode");
|
||||
this.tsmiShowQRCode.Click += new System.EventHandler(this.tsmiShowQRCode_Click);
|
||||
//
|
||||
// tsmiOCRImage
|
||||
//
|
||||
this.tsmiOCRImage.Image = global::ShareX.Properties.Resources.edit_drop_cap;
|
||||
this.tsmiOCRImage.Name = "tsmiOCRImage";
|
||||
resources.ApplyResources(this.tsmiOCRImage, "tsmiOCRImage");
|
||||
this.tsmiOCRImage.Click += new System.EventHandler(this.tsmiOCRImage_Click);
|
||||
//
|
||||
// tsmiShowResponse
|
||||
//
|
||||
this.tsmiShowResponse.Image = global::ShareX.Properties.Resources.application_browser;
|
||||
|
@ -2096,5 +2105,6 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.PictureBox pbPatreonHide;
|
||||
private System.Windows.Forms.ToolTip ttMain;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiDownloadSelectedURL;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiOCRImage;
|
||||
}
|
||||
}
|
|
@ -610,6 +610,7 @@ private void UpdateContextMenu()
|
|||
tsmiShortenSelectedURL.Visible = uim.SelectedItem.IsURLExist;
|
||||
tsmiShareSelectedURL.Visible = uim.SelectedItem.IsURLExist;
|
||||
tsmiShowQRCode.Visible = uim.SelectedItem.IsURLExist;
|
||||
tsmiOCRImage.Visible = uim.SelectedItem.IsImageFile;
|
||||
tsmiShowResponse.Visible = !string.IsNullOrEmpty(uim.SelectedItem.Info.Result.Response);
|
||||
}
|
||||
|
||||
|
@ -1319,7 +1320,7 @@ private void tsmiTextCapture_Click(object sender, EventArgs e)
|
|||
|
||||
try
|
||||
{
|
||||
TaskHelpers.OpenOCR();
|
||||
TaskHelpers.OCRImage();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -1647,7 +1648,7 @@ private void tsmiTrayLastRegion_Click(object sender, EventArgs e)
|
|||
|
||||
private void tsmiTrayTextCapture_Click(object sender, EventArgs e)
|
||||
{
|
||||
TaskHelpers.OpenOCR();
|
||||
TaskHelpers.OCRImage();
|
||||
}
|
||||
|
||||
private void tsmiTrayToggleHotkeys_Click(object sender, EventArgs e)
|
||||
|
@ -1868,6 +1869,11 @@ private void tsmiShowQRCode_Click(object sender, EventArgs e)
|
|||
uim.ShowQRCode();
|
||||
}
|
||||
|
||||
private void tsmiOCRImage_Click(object sender, EventArgs e)
|
||||
{
|
||||
uim.OCRImage();
|
||||
}
|
||||
|
||||
private void tsmiShowResponse_Click(object sender, EventArgs e)
|
||||
{
|
||||
uim.ShowResponse();
|
||||
|
|
|
@ -1188,6 +1188,12 @@
|
|||
<data name="tsmiShowQRCode.Text" xml:space="preserve">
|
||||
<value>Show QR code...</value>
|
||||
</data>
|
||||
<data name="tsmiOCRImage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
<data name="tsmiOCRImage.Text" xml:space="preserve">
|
||||
<value>OCR image...</value>
|
||||
</data>
|
||||
<data name="tsmiShowResponse.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
|
@ -1240,7 +1246,7 @@
|
|||
<value>Image preview</value>
|
||||
</data>
|
||||
<data name="cmsTaskInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 362</value>
|
||||
<value>173, 384</value>
|
||||
</data>
|
||||
<data name=">>cmsTaskInfo.Name" xml:space="preserve">
|
||||
<value>cmsTaskInfo</value>
|
||||
|
@ -2427,6 +2433,12 @@
|
|||
<data name=">>tsmiShowQRCode.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsmiOCRImage.Name" xml:space="preserve">
|
||||
<value>tsmiOCRImage</value>
|
||||
</data>
|
||||
<data name=">>tsmiOCRImage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsmiShowResponse.Name" xml:space="preserve">
|
||||
<value>tsmiShowResponse</value>
|
||||
</data>
|
||||
|
@ -2911,6 +2923,6 @@
|
|||
<value>MainForm</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>ShareX.HotkeyForm, ShareX, Version=11.4.1.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>ShareX.HotkeyForm, ShareX, Version=11.5.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
|
@ -124,7 +124,7 @@ public static void ExecuteJob(TaskSettings taskSettings, HotkeyType job, CLIComm
|
|||
OpenWebpageCapture(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.TextCapture:
|
||||
OpenOCR(safeTaskSettings);
|
||||
OCRImage(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.AutoCapture:
|
||||
OpenAutoCapture();
|
||||
|
@ -918,26 +918,47 @@ public static void OpenRuler(TaskSettings taskSettings = null)
|
|||
RegionCaptureTasks.ShowScreenRuler(taskSettings.CaptureSettings.SurfaceOptions);
|
||||
}
|
||||
|
||||
public static void OpenOCR(TaskSettings taskSettings = null)
|
||||
public static void OCRImage(TaskSettings taskSettings = null)
|
||||
{
|
||||
if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
|
||||
|
||||
using (Image img = RegionCaptureTasks.GetRegionImage(taskSettings.CaptureSettings.SurfaceOptions))
|
||||
{
|
||||
if (img != null)
|
||||
OCRImage(img);
|
||||
}
|
||||
}
|
||||
|
||||
public static void OCRImage(Image img)
|
||||
{
|
||||
if (img != null)
|
||||
{
|
||||
using (Stream stream = SaveImageAsStream(img, EImageFormat.PNG))
|
||||
{
|
||||
using (Stream stream = SaveImageAsStream(img, EImageFormat.PNG))
|
||||
{
|
||||
if (stream != null)
|
||||
{
|
||||
using (OCRSpaceForm form = new OCRSpaceForm(stream, "ShareX.png"))
|
||||
{
|
||||
form.Language = Program.Settings.OCRLanguage;
|
||||
form.ShowDialog();
|
||||
Program.Settings.OCRLanguage = form.Language;
|
||||
}
|
||||
}
|
||||
}
|
||||
OCRImage(stream, "ShareX.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void OCRImage(string filePath)
|
||||
{
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
|
||||
{
|
||||
OCRImage(fs, Path.GetFileName(filePath));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void OCRImage(Stream stream, string fileName)
|
||||
{
|
||||
if (stream != null)
|
||||
{
|
||||
using (OCRSpaceForm form = new OCRSpaceForm(stream, fileName))
|
||||
{
|
||||
form.Language = Program.Settings.OCRLanguage;
|
||||
form.ShowDialog();
|
||||
Program.Settings.OCRLanguage = form.Language;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -342,6 +342,11 @@ public void ShowQRCode()
|
|||
if (IsItemSelected && SelectedItem.IsURLExist) new QRCodeForm(SelectedItem.Info.Result.URL).Show();
|
||||
}
|
||||
|
||||
public void OCRImage()
|
||||
{
|
||||
if (IsItemSelected && SelectedItem.IsImageFile) TaskHelpers.OCRImage(SelectedItem.Info.FilePath);
|
||||
}
|
||||
|
||||
public void ShowResponse()
|
||||
{
|
||||
if (IsItemSelected && SelectedItem.Info.Result != null && !string.IsNullOrEmpty(SelectedItem.Info.Result.Response))
|
||||
|
|
Loading…
Reference in a new issue