//Métodos Segmentado Semiautomático private void semiautomaticoToolStripMenuItem_Click(object sender, EventArgs e) { if (textoSegmentado != null) { textoSegmentado.LiberarTextoManejado(); } textoSegmentado = textoActual.Copia(); deshabilitarMenus("Segmentado semiautomático"); conometro.Start(); //Segmentación líneas textoSegmentado.SegmentacionLineas(perfilActual.segmentacion.interlineadoMedio, perfilActual.segmentacion.incrementoMinimoLineas); estadoImagenSegmentada = EstadoImagen.lineasSegmentadas; ArreglarLineasForm arreglar = new ArreglarLineasForm(this); arreglar.ShowDialog(); if (estadoImagenSegmentada != EstadoImagen.nula) { imagenSegmentada.habilitarBotonCerrar(false); } segmentadoSemiautomaticoBackgroundWorker.RunWorkerAsync(); }
private void cancelarButton_Click(object sender, EventArgs e) { copiaTexto.LiberarTextoManejado(); textoEscalado.LiberarTextoManejado(); Close(); }
private void lineasSegmentadasPictureBox_MouseClick(object sender, MouseEventArgs e) { int linea = textoEscalado.GetLinea(e.Y, e.X); textoEscalado.LiberarTextoManejado(); if (fusionar) { if (lineaSeleccionada < linea) { copiaTexto.Fusionar(lineaSeleccionada, linea); } else { copiaTexto.Fusionar(linea, lineaSeleccionada); } } textoEscalado = copiaTexto.Copia(); textoEscalado.EscalacionLineal(((double)lineasSegmentadasPictureBox.Size.Width) / copiaTexto.GetAncho(), ((double)lineasSegmentadasPictureBox.Size.Height) / copiaTexto.GetAlto()); if (!fusionar && linea != -1 && linea != lineaSeleccionada) { textoEscalado.PintarLinea(linea); lineaSeleccionada = linea; } else { lineaSeleccionada = -1; } IntPtr ptrDIB; //Puntero al DIB IntPtr ptrMapaBits; //Puntero al mapa de bits en sí (nos saltamos el bitmapinfoheader y la paleta, si la hay) unsafe //Zona no segura (transformación de punteros C++ a C#) { ptrDIB = (IntPtr)textoEscalado.GetDIB(); ptrMapaBits = (IntPtr)textoEscalado.GetMapaBits(); } lineasSegmentadasPictureBox.Image = PrincipalForm.BitmapFromDIB(ptrDIB, ptrMapaBits); fusionar = false; }
private void abrirFileDialog_FileOk(object sender, CancelEventArgs e) { if (abrirFileDialog.FileNames.Length > 0)//Se ha seleccionado un archivo { textoActual.LiberarTextoManejado(); textoActual.Cargar(abrirFileDialog.FileName); estadoImagen = EstadoImagen.nula; CargarImagen(); } }
private void enderezadoBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { formPadre.habilitarMenus("Enderezado"); if (formPadre.textoActual != copiaTexto) { copiaTexto.LiberarTextoManejado(); copiaTexto = formPadre.textoActual; } habilitarBotonCerrar(true); Close(); }
private void corregirSlopeBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { formPadre.habilitarMenus("Correción Slope"); if (formPadre.textoSegmentado != copiaTexto) { copiaTexto.LiberarTextoManejado(); copiaTexto = formPadre.textoSegmentado; } habilitarBotonCerrar(true); Close(); }
private void obtenerCaracteresBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { formPadre.habilitarMenus("Segmentado caracteres"); if (formPadre.textoSegmentado != copiaTexto) { copiaTexto.LiberarTextoManejado(); copiaTexto = formPadre.textoSegmentado; } formPadre.estadoImagenSegmentada = EstadoImagen.caracteresSegmentados; habilitarBotonCerrar(true); Close(); }
private void umbralizadoBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { formPadre.habilitarMenus("Umbralizado"); if (formPadre.textoActual != copiaTexto) { copiaTexto.LiberarTextoManejado(); copiaTexto = formPadre.textoActual; } formPadre.estadoImagen = EstadoImagen.umbralizada; habilitarBotonCerrar(true); Close(); }