private void preprocesadoBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { conometro.Start(); if (perfilActual.preprocesado.redimensionarImagen) { double factorAlto = 1.0; double factorAncho = 1.0; if (perfilActual.preprocesado.mantenerProporcion) { if (perfilActual.preprocesado.cambiarAlto) { factorAlto = ((double)perfilActual.preprocesado.pixelesAlto) / textoActual.GetAlto(); factorAncho = textoActual.GetAncho() * factorAlto / textoActual.GetAlto(); } else if (perfilActual.preprocesado.cambiarAncho) { factorAncho = ((double)perfilActual.preprocesado.pixelesAncho) / textoActual.GetAncho(); factorAlto = textoActual.GetAlto() * factorAncho / textoActual.GetAncho(); } } else { if (perfilActual.preprocesado.cambiarAlto) { factorAlto = ((double)perfilActual.preprocesado.pixelesAlto) / textoActual.GetAlto(); } if (perfilActual.preprocesado.cambiarAncho) { factorAncho = ((double)perfilActual.preprocesado.pixelesAncho) / textoActual.GetAncho(); } } textoActual.Escalacion(factorAncho, factorAlto); } textoActual.Umbralizar(perfilActual.preprocesado.umbral); estadoImagen = EstadoImagen.umbralizada; if (perfilActual.preprocesado.enderezadoAutomatico) { textoActual.Enderezar(); } conometro.Stop(); }