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