private void buttonOK_Click(object sender, EventArgs e) { using (var form = new VobSubOcrNOcrCharacter()) { form.Initialize(_expandItem.NikseBitmap.GetBitmap(), _expandItem, new Point(0, 0), checkBoxItalic.Checked, false, textBoxText.Text); var result = form.ShowDialog(this); NOcrChar = form.NOcrChar; NOcrChar.ExpandCount = (int)numericUpDownExpandCount.Value; DialogResult = result; } }
private void addBetterMultiMatchToolStripMenuItem_Click(object sender, EventArgs e) { using (var form = new AddBetterMultiMatchNOcr()) { var tempImageList = new List <ImageSplitterItem>(); var idx = _indexLookup[listBoxInspectItems.SelectedIndex]; for (int i = idx; i < _imageList.Count; i++) { tempImageList.Add(_imageList[i]); } var tempMatchList = new List <VobSubOcr.CompareMatch>(); idx = listBoxInspectItems.SelectedIndex; for (int i = idx; i < _matchList.Count; i++) { tempMatchList.Add(_matchList[i]); } form.Initialize(_bitmap, 0, tempMatchList, tempImageList); if (form.ShowDialog(this) == DialogResult.OK) { using (var charForm = new VobSubOcrNOcrCharacter()) { charForm.Initialize(_bitmap, form.ExpandItem, new Point(0, 0), form.ExpandItalic, false, false, form.ExpandText); if (charForm.ShowDialog(this) == DialogResult.OK) { charForm.NOcrChar.ExpandCount = form.ExpandCount; var expandList = tempImageList.Take(form.ExpandCount).ToList(); charForm.NOcrChar.MarginTop = expandList.First().Top - expandList.Min(p => p.Top); _nOcrDb.Add(charForm.NOcrChar); DialogResult = DialogResult.OK; return; } } } DialogResult = DialogResult.Cancel; } }
private void buttonAddBetterMatch_Click(object sender, EventArgs e) { var expandSelectionList = new List <ImageSplitterItem>(); if (listBoxInspectItems.SelectedIndex < 0) { return; } int index = listBoxInspectItems.SelectedIndex; var img = _imageList[index]; if (img.NikseBitmap == null) { return; } using (var vobSubOcrNOcrCharacter = new VobSubOcrNOcrCharacter()) { vobSubOcrNOcrCharacter.Initialize(_bitmap, img, new Point(0, 0), false, expandSelectionList.Count > 1); DialogResult result = vobSubOcrNOcrCharacter.ShowDialog(this); bool expandSelection = false; bool shrinkSelection = false; if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ExpandSelection) { expandSelection = true; expandSelectionList.Add(img); } while (result == DialogResult.OK && (vobSubOcrNOcrCharacter.ShrinkSelection || vobSubOcrNOcrCharacter.ExpandSelection)) { if (expandSelection || shrinkSelection) { expandSelection = false; if (shrinkSelection && index > 0) { shrinkSelection = false; } else if (index + 1 < _imageList.Count && _imageList[index + 1].NikseBitmap != null) // only allow expand to EndOfLine or space { index++; expandSelectionList.Add(_imageList[index]); } img = VobSubOcr.GetExpandedSelection(new NikseBitmap(_bitmap), expandSelectionList, false); // true } vobSubOcrNOcrCharacter.Initialize(_bitmap2, img, new Point(0, 0), false, expandSelectionList.Count > 1); result = vobSubOcrNOcrCharacter.ShowDialog(this); if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ShrinkSelection) { shrinkSelection = true; index--; if (expandSelectionList.Count > 0) { expandSelectionList.RemoveAt(expandSelectionList.Count - 1); } } else if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ExpandSelection) { expandSelection = true; index++; expandSelectionList.Add(_imageList[index]); } } if (result == DialogResult.OK) { if (expandSelectionList.Count > 1) { vobSubOcrNOcrCharacter.NOcrChar.ExpandCount = expandSelectionList.Count; } _nocrChars.Add(vobSubOcrNOcrCharacter.NOcrChar); _vobSubOcr.SaveNOcrWithCurrentLanguage(); DialogResult = DialogResult.OK; } } }
private void buttonAddBetterMatch_Click(object sender, EventArgs e) { var expandSelectionList = new List <ImageSplitterItem>(); if (listBoxInspectItems.SelectedIndex < 0) { return; } int index = _indexLookup[listBoxInspectItems.SelectedIndex]; var img = _imageList[index]; if (img.NikseBitmap == null) { return; } var match = _matchList[listBoxInspectItems.SelectedIndex]; if (match?.ExpandCount > 1) // expand match { addBetterMultiMatchToolStripMenuItem_Click(null, null); return; } using (var vobSubOcrNOcrCharacter = new VobSubOcrNOcrCharacter()) { var text = textBoxText.Text; vobSubOcrNOcrCharacter.Initialize(_bitmap, img, new Point(-1, -1), checkBoxItalic.Checked, true, expandSelectionList.Count > 1, text); DialogResult result = vobSubOcrNOcrCharacter.ShowDialog(this); var expandSelection = false; var shrinkSelection = false; if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ExpandSelection) { expandSelection = true; if (img.NikseBitmap != null) { expandSelectionList.Add(img); } } while (result == DialogResult.OK && (vobSubOcrNOcrCharacter.ShrinkSelection || vobSubOcrNOcrCharacter.ExpandSelection)) { if (expandSelection || shrinkSelection) { expandSelection = false; if (shrinkSelection && index > 0) { shrinkSelection = false; } else if (index + 1 < _imageList.Count && _imageList[index + 1].NikseBitmap != null) // only allow expand to EndOfLine or space { index++; expandSelectionList.Add(_imageList[index]); } img = VobSubOcr.GetExpandedSelectionNew(new NikseBitmap(_bitmap), expandSelectionList); // true } vobSubOcrNOcrCharacter.Initialize(_bitmap, img, new Point(0, 0), checkBoxItalic.Checked, true, expandSelectionList.Count > 1, string.Empty); result = vobSubOcrNOcrCharacter.ShowDialog(this); if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ShrinkSelection) { shrinkSelection = true; index--; if (expandSelectionList.Count > 0) { expandSelectionList.RemoveAt(expandSelectionList.Count - 1); } } else if (result == DialogResult.OK && vobSubOcrNOcrCharacter.ExpandSelection) { expandSelection = true; if (_imageList[index + 1].NikseBitmap != null) { index++; expandSelectionList.Add(_imageList[index]); } } } if (result == DialogResult.OK) { if (expandSelectionList.Count > 1) { vobSubOcrNOcrCharacter.NOcrChar.ExpandCount = expandSelectionList.Count; } _nOcrChars.Add(vobSubOcrNOcrCharacter.NOcrChar); DialogResult = DialogResult.OK; } } }