コード例 #1
0
        private void compresiónToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (imagen != null)
            {
                try {
                    saveFileDialog1.Filter = "Archivo (*.frc)|*.frc";
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        ComprSettingsForm comprSettingsForm = new ComprSettingsForm();

                        if (comprSettingsForm.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        //Verifica método de comprensión
                        compresion.bool_Cmp2x2 = comprSettingsForm.checkBox1.Checked;
                        compresion.bool_Cmp4x4 = comprSettingsForm.checkBox2.Checked;
                        compresion.bool_Cmp8x8 = comprSettingsForm.checkBox3.Checked;
                        //
                        compresion.dimensionarImagen(imagen);
                        //
                        if (comprSettingsForm.radioButton1.Checked == true)
                        {
                            compresion.linearCriterion = false;
                        }
                        else
                        {
                            compresion.linearCriterion = true;
                        }

                        ProgressForm progressForm = new ProgressForm(compresion, descompresion);
                        progressForm.ShowDialog();
                        //Guardar imagenn descomprimida
                        FileStream   stream = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write);
                        BinaryWriter writer = new BinaryWriter(stream, Encoding.ASCII);
                        compresion.guardarImagenComprimida(writer);
                        stream.Close();
                        //Descomprimir
                        descompresion.SFI = compresion.SFI;
                        descompresion.Descomprimir();
                        Image im = descompresion.ObtenerImagen();
                        //Imprimir
                        ResultForm resultForm = new ResultForm();
                        resultForm.Text         = "Resultado de Compresión";
                        resultForm.label1.Image = im;
                        resultForm.Show();
                    }
                } catch (Exception ex) {
                    MessageBox.Show(ex.Message, "Error de compresión");
                }
            }
            else
            {
                MessageBox.Show("Seleccione una imagen");
            }
        }