Autor Tema: como determinar el color de un pixel de un picturebox en Visual basic 2010  (Leído 11770 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Hola amigos:

Tanto tiempo :)

se hace difícil poder escribir en los foros últimamente :(

Bueno, luego de buscar algo de como hacer esto, pues pido un poco de ayuda, estoy intentando hacer un programita que me permita determinar el color de un pixel de un Picturebox en formato RGB Visual Basic 2010, en la version 6.0 es sencillo:

Color = Picture1.Point

en donde Point: Devuelve, como un valor de tipo Integer Long, el color rojo-verde-azul (RGB) delpunto especificado de un objeto Form o un control PictureBox.

No hay o no he podido encontrar una función equivalente en VB 2010, ¿alguien tiene alguna idea de como hacerlo?

Saludos.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #1 en: 05 de Marzo de 2012, 18:21:11 »
por si alguien se pregunta que quiero hacer o simplemente puede que haya una forma más sencilla de hacerlo XD:

Mi programa en VB 6.0 convierte una imagen de colores a una imagen monocromática, y luego los valores de los píxeles, negros y blancos, lo envío a un GLCD, para dibujar la misma imagen, en otras palabras intento hacer esto que ya tengo en VB 6.0


Pero ahora lo quiero hacer en VB 2010

 8)

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #2 en: 05 de Marzo de 2012, 23:11:35 »
Hola Giovanni, tiempo sin saber de tí  :)

yo tampoco he tenido tiempo para dedicarle al vb2010 (y eso que lo tengo instalado en mi pc)


por aquí hicieron (y respondieron) una pregunta similar:

http://www.vbforums.com/showthread.php?t=505009

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #3 en: 06 de Marzo de 2012, 01:05:25 »
Hola Pedro,

muchas gracias por el link, lo voy a revisar, me toca mañana porque en esta compu no puedo instalar el VB 2010, un problema con permisos de administrador que me tiene loco y no puedo modificar ni borrar la librería mscorre.dll  :5],  y a ver si puedo estar algo más activo en el foro luego de tanto tiempo.

Saludos

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #4 en: 06 de Marzo de 2012, 19:20:56 »
Hola:

Bueno, ahora que miro el ejemplo, el código de la página que pusiste, está en función de una imagen creada, no es un PictureBox y no posee la propiedad getpixel ni setpixel, uso el PictureBox, pues es ahí en donde estoy cargando la imagen.

El código original del link es:

        For X = 0 To Picture1.ScaleWidth
           For y = 0 To Picture1.ScaleHeight
                If Picture1.Point(X, y) <> vbBlack Then
                    Picture1.PSet (X, y), vbWhite
                End If
            Next y
        Next X

Nota que trabaja con un control Picture.

y quien da la solución, lo que hace es crear un mapa de bits, sin partir de un control PictureBox

dim img as new bitmap(filename)
For X = 0 To img.Width
     For y = 0 To img.Height
          If img.getpixel(X, y) <> color.Black Then
             img.setpixel(x,y, color.white)
          End If
     Next y
Next X

No se si haya alguna otra forma de hacerlo, sigo sin encontrar solución en Google XD.

Saludos

Desconectado sanpic

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 430
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #5 en: 07 de Marzo de 2012, 08:03:27 »
Que gusto poder leerte nuevamente.    :)
Un abrazo Gio
IF you_know = true THEN                                 
     share_it
ENDIF

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #6 en: 07 de Marzo de 2012, 16:43:33 »
Hey Roberto, tanto tiempo, un fuerte abrazo amigo.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #7 en: 07 de Marzo de 2012, 19:35:09 »
Hola:

Pues bueno, como en viejos tiempos, BrunoF nuevamente me ha ayudado con el código  :)

Código: vb.net
  1. Public Class Form1
  2.  
  3.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  4.         PictureBox1.Image = New Bitmap("C:\oleo.jpg")
  5.     End Sub
  6.  
  7.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  8.         ScanSendImage(PictureBox1.Image)
  9.         PictureBox1.Refresh()
  10.     End Sub
  11.  
  12.     Private Function ScanSendImage(ByRef aBitmap As Bitmap) As Array
  13.         Dim i As Integer, j As Integer
  14.         Dim ColorActual As Integer
  15.  
  16.         Dim Colores(aBitmap.Width - 1, aBitmap.Height - 1) As Boolean
  17.  
  18.         For i = 0 To aBitmap.Width - 1
  19.             For j = 0 To aBitmap.Height - 1
  20.                 ColorActual = aBitmap.GetPixel(i, j).ToArgb()
  21.                 If Math.Abs(ColorActual) < RGB(128, 128, 128) Then
  22.                     Colores(i, j) = False
  23.                     aBitmap.SetPixel(i, j, Color.White)
  24.                 Else
  25.                     Colores(i, j) = True
  26.                     aBitmap.SetPixel(i, j, Color.Black)
  27.                 End If
  28.             Next
  29.         Next
  30.         Return Colores
  31.     End Function
  32. End Class

Desconectado willyfv

  • PIC10
  • *
  • Mensajes: 10
Re: como determinar el color de un pixel de un picturebox en Visual basic 2010
« Respuesta #8 en: 24 de Agosto de 2012, 00:05:13 »
Buenas noches amigo LordLafebre, desde hace días me tope con este código muy interesante y los estoy aplicando para convertir las imágenes a blanco y negro, aquí viene mi duda:

Me gustaría saber si lees las posiciones (X, Y)  junto con el valor del pixel y como los haces o solamente el valor del pixel? tienes a disposición el código?

lo que quiero hacer es cualquier imagen a color pasarla a blanco y negro y luego esos valores cargarlos a un listbox

Gracias,


 

anything