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 | + |