View difference between Paste ID: Yi3y3Aed and mK1GBQcc
SHOW: | | - or go back to the newest paste.
1
/*
2
 * Created by SharpDevelop.
3
 * User: fhrl0
4-
 * Date: 14/09/2019
4+
 * Date: 14/09/2019-21/02/2022
5-
 * Time: 02:04 p. m.
5+
 * Time: 08:00 p. m.
6-
 * Vertion: 0.3.1
6+
 * Version: 0.3.4
7
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
8
 */
9
using System;
10
using System.Collections.Generic;
11
using System.Drawing;
12
using System.Windows.Forms;
13-
 
13+
14-
namespace Actividad_2{
14+
namespace Actividad_1
15-
    /// <summary>
15+
{
16-
    /// Description of MainForm.
16+
	/// <summary>
17-
    /// </summary>
17+
	/// Description of MainForm.
18-
    public partial class MainForm : Form{
18+
	/// </summary>
19-
        Bitmap Original,Drawing;
19+
	public partial class MainForm : Form
20-
        public MainForm(){
20+
	{
21-
            //
21+
		Bitmap Original,Drawing;
22-
            // The InitializeComponent() call is required for Windows Forms designer support.
22+
		OpenFileDialog openFileDialogImagen = new OpenFileDialog();
23-
            //
23+
		public MainForm()
24-
            InitializeComponent();
24+
		{
25-
           
25+
			//
26-
            //
26+
			// The InitializeComponent() call is required for Windows Forms designer support.
27-
            // TODO: Add constructor code after the InitializeComponent() call.
27+
			//
28-
            //
28+
			InitializeComponent();
29
			
30-
        int codificador(bool[]arregloBits){//fixed
30+
			//
31
			// TODO: Add constructor code after the InitializeComponent() call.
32
			//
33
		}
34
        int codificador(bool[]arregloBits){
35
            int abstracto=0;
36-
            }//else es inesesario incrmentar.
36+
37
                abstracto=abstracto*2;
38
                if(arregloBits[i])
39-
        bool esNegro(int x,int y){
39+
40
            }
41
            return abstracto;
42
		}
43
		bool esNegro(int x,int y){
44-
        void centra(int xInicio,int yInicio,int xFin,int yFin){//163 >> 1
44+
45-
            buttonMostrar.Text=yFin.ToString();
45+
46-
            Drawing.SetPixel(xInicio,yInicio,Color.Yellow);
46+
47-
            for(bool[]sentencias={esNegro(xInicio,yInicio),esNegro(xFin,yFin)};true;){
47+
48-
                switch(codificador(sentencias)){
48+
		void ButtonMostrarClick(object sender, EventArgs e){
49-
                    case 0:{//00?
49+
50-
                    }return;
50+
51-
                    case 1:{//10?
51+
52-
                        //yFin=yFin+i;
52+
53-
                    }return;
53+
54-
                    case 2:{//01?
54+
55-
                        //yFin=yFin-i;
55+
                pictureBoxMuestra.Image=Drawing;
56-
                    }return;
56+
57-
                    case 3:{//11?
57+
	
58-
                        //yFin=yFin-i;
58+
		}
59-
                    }return;
59+
		void analizar(int xInicio,int yInicio,int xFin,int yFin){//dispose objetos//principio de animacion
60-
                    default:return;
60+
61-
                };
61+
62
            detecta(xInicio,yInicio,xFin,yFin);
63
            //System.Threading.Thread.Sleep(10);
64-
        void detecta(int xInicio,int yInicio,int xFin,int yFin){//Drawing.SetPixel(xInicio,yInicio,Color.BlueViolet);//para analisis.//int xCentro=(xInicio+xFin)/2,yCentro=(yInicio+yFin)/2;
64+
            bool[]sentencias={xInicio+3<xFin-3,yInicio+3<yFin-3};
65
            switch(codificador(sentencias)){//enum{}?
66
                case 1://01
67
                    analizar(xInicio,yInicio,xFin,yCentro-1);
68
                    analizar(xInicio,yCentro,xFin,yFin);
69
                return;
70
                case 2://10
71
                    analizar(xInicio,yInicio,xCentro-1,yFin);analizar(xCentro,yInicio,xFin,yFin);
72
                return;
73-
                case 12:{// < 10 //patch
73+
74-
                	Drawing.SetPixel(xInicio,yInicio,Color.Blue);
74+
75-
                    Drawing.SetPixel(xInicio,yFin,Color.Blue);
75+
76-
                    Drawing.SetPixel(xFin,yInicio,Color.Blue);
76+
77-
                    Drawing.SetPixel(xFin,yFin,Color.Blue);//*/
77+
78-
                    Drawing.SetPixel(xCentro,yCentro,Color.OrangeRed);//pictureBoxMuestra.Refresh();
78+
79-
                    if(yInicio>=0&&esNegro(xCentro,yInicio-1)){yInicio--;
79+
80-
                        if(yFin<Original.Height-1&&esNegro(xCentro,yFin+1)){yFin++;
80+
81-
                                if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
81+
		void detecta(int xInicio,int yInicio,int xFin,int yFin){//Drawing.SetPixel(xInicio,yInicio,Color.BlueViolet);//para analisis.//int xCentro=(xInicio+xFin)/2,yCentro=(yInicio+yFin)/2;
82-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
82+
83-
                                }else{
83+
84-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
84+
85-
                                }
85+
86
                                 esNegro(xCentro,yCentro)&&(!Equals(Drawing.GetPixel(xCentro,yCentro),Color.OrangeRed));
87-
                                if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
87+
88-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
88+
89-
                                }else{
89+
90-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
90+
                default:{// < fixed
91-
                                }
91+
                    if(xFin<Original.Width-2&&xInicio>0&&yFin<Original.Height-2&&yInicio>0){//pictureBoxMuestra.Refresh();
92-
                           
92+
                        Drawing.SetPixel(xInicio,yInicio,Color.Blue);
93
                        Drawing.SetPixel(xInicio,yFin,Color.Blue);
94-
                    }else{
94+
                        Drawing.SetPixel(xFin,yInicio,Color.Blue);
95-
                        if(yFin<Original.Height-1&esNegro(xCentro,yFin+1)){yFin++;
95+
                        Drawing.SetPixel(xFin,yFin,Color.Blue);
96-
                                if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
96+
                        Drawing.SetPixel(xCentro,yCentro,Color.OrangeRed);
97-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
97+
                        if(
98-
                                }else{
98+
                            //yInicio>=0&&
99-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
99+
                           esNegro(xCentro,yInicio-1)){yInicio--;
100-
                                }
100+
                            if(yFin<Original.Height-1&&esNegro(xCentro,yFin+1)){yFin++;
101
                                    if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
102-
                                if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
102+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
103-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
103+
                                    }else{
104-
                                }else{
104+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
105-
                                    if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{Drawing.SetPixel(xCentro,yCentro,Color.OrangeRed);pictureBoxMuestra.Refresh();buttonMostrar.Text=xCentro.ToString()+",".ToString()+yCentro.ToString();buttonMostrar.Refresh();return;}
105+
                                    }
106-
                                }
106+
                            }else{
107-
                           
107+
                                    if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
108
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
109-
                    }
109+
                                    }else{
110-
                }break;//return;
110+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
111-
                /*case 2:case 11:{/// L
111+
                                    }
112-
                        Drawing.SetPixel(x,y,Color.Red);
112+
                               
113-
                        for(;esNegro(x-n,y+n)
113+
                            }
114-
                            &&(x-n>=0)
114+
115-
                            &&(y+n<Original.Width);n++)
115+
                            if(yFin<Original.Height-1&esNegro(xCentro,yFin+1)){yFin++;
116-
                                Drawing.SetPixel(x-n,y+n,Color.Blue);
116+
                                    if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
117-
                        return;
117+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
118-
                    }
118+
                                    }else{
119-
                case 3:{/// v
119+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
120-
                        Drawing.SetPixel(x,y,Color.Red);
120+
                                    }
121-
                        for(;esNegro(x,y+n)
121+
                            }else{
122-
                            &&(y+n<Original.Width);n++)
122+
                                    if(xInicio>=0&&esNegro(xInicio-1,yCentro)){xInicio--;
123-
                                Drawing.SetPixel(x,y+n,Color.Blue);
123+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{}
124-
                        return;
124+
                                    }else{
125-
                    }
125+
                                        if(xFin<Original.Width-1&&esNegro(xFin+1,yCentro)){xFin++;}else{Drawing.SetPixel(xCentro,yCentro,Color.OrangeRed);pictureBoxMuestra.Refresh();buttonMostrar.Text=xCentro.ToString()+",".ToString()+yCentro.ToString();buttonMostrar.Refresh();return;}
126-
                case 1:case 7:{// _|
126+
                                    }
127-
                        Drawing.SetPixel(x,y,Color.Red);
127+
                               
128-
                        /*for(;esNegro(x+n,y+n)
128+
                            }
129-
                            &&(y+n<Original.Width)
129+
130-
                            &&(x+n<Original.Height);n++)
130+
                    }else return;
131-
                                Drawing.SetPixel(x+n,y+n,Color.Blue);
131+
                }break;
132-
                        return;
132+
133-
                    }
133+
134-
                case 5:{// >
134+
		void ButtonAbrirMouseClick(object sender, MouseEventArgs e){
135-
                        Drawing.SetPixel(x,y,Color.Red);
135+
136-
                        /*for(;(esNegro(x+n,y))
136+
137-
                            &&(x+n<Original.Height);n++)
137+
138-
                                Drawing.SetPixel(x+n,y,Color.Blue);
138+
            buttonMostrar.Enabled=true;
139-
                        return;
139+
	
140-
                    }
140+
		}
141-
                case 4:case 13:{// ¬
141+
	}
142-
                        Drawing.SetPixel(x,y,Color.Red);
142+
}
143-
                        for(;esNegro(x+n,y-n)
143+