Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Explorar La Superficie De Una Imagen
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Explorar La Superficie De Una Imagen 
 
Hola amigos,
ahora dejo un breve, sencillo y simpatico codigo para conocer el color y su numero de cada pixel de la imagen cargada, escansionando, explorando la superficie de aquella imagen.
Se necesita poner sobre el Form un PictureBox y una TextLabel:
Private i As New Image
Private d As New Integer[]
Private cursor As TextLabel


Public Sub Form_Open()

  Dim pc As Picture


' Cargamos la imagen en una variable de tipo "Image"...
    i = i.Load("/direccion/de/la/imagen")

' ...y la convertimos a "Picture":
    pc = i.Picture

' Hacemos el "PictureBox" del mismo tamaño de la imagen cargada:
    With PictureBox1
      .W = i.W
      .H = i.H
'A continuación, cargamos la imagen, contenida en la variabile "Image", en el "PictureBox" :
      .Picture = pc
    End With
    
    With cursor = New TextLabel(Me)
      .W = 2
      .H = 5
    End With

End


Public Sub PictureBox1_MouseUp()

  Dim nCol As Integer
  Dim a, b, j As Short

    a = Mouse.X
    b = Mouse.Y
    
    For j = a To PictureBox1.W      '  ==>  Me.X + (cursor.W / 2) To PictureBox1.W
    
      nCol = i[j, b]
      With cursor
        .Text = "|"
        .Move(j - (cursor.W / 2), b)
      End With
      d.Add(nCol)
' Así que tenemos el número del color del píxel sobre el que hicimos clic con el ratón.  ...
      Print "El numero del color del pixel " & "n. " & j & " ahora es: "; Hex(nCol, 6)

' ...y mostramos su color en el "TextLabel" colocado en el Formulario:
      TextLabel1.Background = nCol
      Wait 0.005
  
      If j = PictureBox1.W Then
        b = b + 1
        j = a
      Endif
  
    Next

End


Public Sub TextLabel1_MouseDown()

  Dim r As Integer

    For r = 0 To d.Max
      Print d[r], Hex(d[r], 6)
    Next

End

Cuando se muestra el Form principal, haga clic sobre la imagen.
 



 
última edición por vuott el Lunes, 14 Abril 2014, 23:26; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Explorar La Superficie De Una Imagen 
 
vuott

¿y como se obtiene de una coordenada en concreto de la imagen?
Por que parece que da la lista de colores que hay  en la fila...

Citar:
With cursor
.Text = "|"
.Move(j - (cursor.W / 2), b)
End With

 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Explorar La Superficie De Una Imagen 
 
jsbsan escribió: [Ver mensaje]

Por que parece que da la lista de colores que hay  en la fila...

Sì, el TextLabel, llamado "cursor", que expora la imagen, camina de un pixel a otro horizontalmente.
 



 
última edición por vuott el Lunes, 14 Abril 2014, 23:19; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Imagen Guizans General 2 Lunes, 12 Marzo 2012, 15:21 Ver último mensaje
Guizans
No hay nuevos mensajes Ejemplo DragDrop Con Imagen. Arrastrar Y B... Shell Aplicaciones/Fragmentos de Código 2 Sabado, 09 Marzo 2013, 10:10 Ver último mensaje
shordi
No hay nuevos mensajes Girar Imagen Shell Aplicaciones/Fragmentos de Código 0 Lunes, 02 Diciembre 2013, 11:35 Ver último mensaje
Shell
No hay nuevos mensajes Ver Imagen En Picturebox imagomundi Bases de Datos 9 Sabado, 22 Septiembre 2018, 13:41 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron