Example #1
0
        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();
        }