prova a mettere il codice nella routine Click
e NON nel FormLoad !!
Per trasformare in scala di grigi uso questa "terna" di Sub:
codice:
Public Sub GetRGB(ByVal Colore As Long, r%, g%, b%)
' scompone il colore in argomento nelle componenti RGB.
' ATTENZIONE: scrive nelle variabili R, G, B passate ByRef come argomenti
r = Colore And 255&
g = (Colore \ 256&) And 255&
b = (Colore \ 65536) And 255&
End Sub
Public Function GetLite(ByVal Colore As Long) As Integer
' restituisce la luminosita' (0...255) del colore indicato
Dim r%, g%, b%
GetRGB Colore, r, g, b
GetLite = 0.298 * r + 0.588 * g + 0.11 * b
End Function
Public Function GetGrey(ByVal Colore As Long) As Long
' restituisce il grigio RGB, corrispondente al colore indicato
Dim L%
L = GetLite(Colore)
GetGrey = RGB(L, L, L)
End Function
Ciao !