Ámbito de variables
Publicado por David (3 intervenciones) el 18/04/2017 19:45:01
Buenas tardes.
Estoy empezando de autodidacta con C# viniendo de php.
Quiero hacer una aplicación que te permita poner una imagen en un picturebox y poniendo el cursor encima, saber que color hay debajo del pixel. Me funcionó bien cuando ponía una imagen fija, en el programa, pero al hacerlo ahora mediante openFileDiag, la foto es del tipo Imagen y no Bitmap y no puedo acceder a las propiedades de los píxeles. La convierto a bitmap pero al volver a ponerla en el picturebox, se hace Image.
En este punto cree dos objetos. Un Image para el picturebox y un bitmap para poder acceder a sus píxeles. El problema es que (problema de novato) no puedo sacar datos del evento de botón que abre el openfiledialog.
El objeto myBitmap subrayado es el que me está dando problemas.
Os agradecería que le echarais un ojo y gracias
Estoy empezando de autodidacta con C# viniendo de php.
Quiero hacer una aplicación que te permita poner una imagen en un picturebox y poniendo el cursor encima, saber que color hay debajo del pixel. Me funcionó bien cuando ponía una imagen fija, en el programa, pero al hacerlo ahora mediante openFileDiag, la foto es del tipo Imagen y no Bitmap y no puedo acceder a las propiedades de los píxeles. La convierto a bitmap pero al volver a ponerla en el picturebox, se hace Image.
En este punto cree dos objetos. Un Image para el picturebox y un bitmap para poder acceder a sus píxeles. El problema es que (problema de novato) no puedo sacar datos del evento de botón que abre el openfiledialog.
El objeto myBitmap subrayado es el que me está dando problemas.
Os agradecería que le echarais un ojo y gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Funciones llamaclase = new Funciones();
}
public void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Imagen jpg|*.jpg|Imagen png|*.png";
openFileDialog1.Title = "Seleccionar archivo de imagen";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Image myImage = Image.FromFile(openFileDialog1.FileName);
Bitmap myBitmap = new Bitmap(myImage);
pictureBox1.Image = myImage;
}
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
int ejex = MousePosition.X;
int ejey = MousePosition.Y;
int ahorax = this.Location.X;
int ahoray = this.Location.Y;
int nuevo_ejex = ejex - ahorax - 208;
int nuevo_ejey = ejey - ahoray - 61;
Color pixelColor = myBitmap.GetPixel(nuevo_ejex, nuevo_ejey);
pictureBox2.BackColor = pixelColor;
label6.Text = "Eje X -> " + nuevo_ejex;
label7.Text = "Eje Y -> " + nuevo_ejey;
int rojo = pixelColor.R;
int verde = pixelColor.G;
int azul = pixelColor.B;
String resul_exa = Funciones.HexRetorn(rojo, verde, azul);
label1.Text = "Canal Alfa: " + Convert.ToString(pixelColor.A);
label2.Text = "Canal R: " + Convert.ToString(pixelColor.R);
label3.Text = "Canal G: " + Convert.ToString(pixelColor.G);
label4.Text = "Canal B: " + Convert.ToString(pixelColor.B);
label5.Text = "Hex: " + Convert.ToString(resul_exa);
}
}
Valora esta pregunta
0