PrivateSubPicture1_MouseMove(ButtonAsInteger,_
ShiftAsInteger,XAsSingle,YAsSingle)
DimrgbAsLong
rgb=Picture1.Point(X,Y)
EndSub
Point方法所返回的值是一個Long類型,它會給用於顏色的RGB值編碼。為了能夠被有效地使用,這個被編碼的值必須被分成獨立的R、G、B組件,它們每個都十進制0-255或者十六進制00-FF范圍內的的一個整數。如果使用十六進制表示的話,那麼Point返回的值就是:
00BBGGRR
使用十六進制標示法會讓顏色的提取操作變容易。如果RGB是由Point方法返回的值,那麼下面就是這個提取操作如何進行的細節:
red=rgbMod&H100
green=(rgb&H100)Mod&H100
blue=(rgb&H10000)Mod&H100
在這裡,最終的MouseMove事件過程顯示了出來。要看到這個過程的實際使用,就要創建一個標准的EXE項目,並在表單上放一個圖片框和一個文本框(TextBox)。將圖像上傳到圖片框裡,然後運行該項目。當鼠標移動到這個圖像上的時候,文本框裡就會顯示指針處像素的RGB值。
PrivateSubPicture1_MouseMove(ButtonAsInteger,_
ShiftAsInteger,XAsSingle,YAsSingle)
DimrgbAsLong
DimrAsString,gAsString,bAsString
rgb=Picture1.Point(X,Y)
r=CStr(rgbMod&H100)
g=CStr((rgb&H100)Mod&H100)
b=CStr((rgb&H10000)Mod&H100)
Text1.Text="R"&r&",G"&g&",B"&b
EndSub
如果你只想看到你點擊到的那個像素的RGB值,你可以將相同的代碼放到MouseDown事件過程裡。
->