Point方法返回圖片框控件里指定X,Y坐標(biāo)處的顏色。要獲得鼠標(biāo)指針?biāo)谖恢玫念伾鸵獙⑦@樣的代碼放入用戶該控件的MouseMove事件過(guò)程里。MouseMove過(guò)程會(huì)被傳遞給指針的當(dāng)前X,Y坐標(biāo),這就讓這段代碼變?nèi)菀琢耍?BR> Private Sub Picture1_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Dim rgb As Long
rgb = Picture1.Point(X, Y)
End Sub
Point方法所返回的值是一個(gè)Long類型,它會(huì)給用于顏色的RGB值編碼。為了能夠被有效地使用,這個(gè)被編碼的值必須被分成獨(dú)立的R、G、B組件,它們每個(gè)都十進(jìn)制0-255或者十六進(jìn)制00-FF范圍內(nèi)的的一個(gè)整數(shù)。如果使用十六進(jìn)制表示的話,那么Point返回的值就是:
00BBGGRR
使用十六進(jìn)制標(biāo)示法會(huì)讓顏色的提取操作變?nèi)菀?。如果RGB是由Point方法返回的值,那么下面就是這個(gè)提取操作如何進(jìn)行的細(xì)節(jié):
red = rgb Mod &H100
green = (rgb \ &H100) Mod &H100
blue = (rgb \ &H10000) Mod &H100
在這里,最終的MouseMove事件過(guò)程顯示了出來(lái)。要看到這個(gè)過(guò)程的實(shí)際使用,就要?jiǎng)?chuàng)建一個(gè)標(biāo)準(zhǔn)的EXE項(xiàng)目,并在表單上放一個(gè)圖片框和一個(gè)文本框(Text Box)。將圖像上傳到圖片框里,然后運(yùn)行該項(xiàng)目。當(dāng)鼠標(biāo)移動(dòng)到這個(gè)圖像上的時(shí)候,文本框里就會(huì)顯示指針處像素的RGB值。
Private Sub Picture1_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Dim rgb As Long
Dim r As String, g As String, b As String
rgb = Picture1.Point(X, Y)
r = CStr(rgb Mod &H100)
g = CStr((rgb \ &H100) Mod &H100)
b = CStr((rgb \ &H10000) Mod &H100)
Text1.Text = "R " & r & ", G " & g & ", B " & b
End Sub
如果你只想看到你點(diǎn)擊到的那個(gè)像素的RGB值,你可以將相同的代碼放到MouseDown事件過(guò)程里。
Shift As Integer, X As Single, Y As Single)
Dim rgb As Long
rgb = Picture1.Point(X, Y)
End Sub
Point方法所返回的值是一個(gè)Long類型,它會(huì)給用于顏色的RGB值編碼。為了能夠被有效地使用,這個(gè)被編碼的值必須被分成獨(dú)立的R、G、B組件,它們每個(gè)都十進(jìn)制0-255或者十六進(jìn)制00-FF范圍內(nèi)的的一個(gè)整數(shù)。如果使用十六進(jìn)制表示的話,那么Point返回的值就是:
00BBGGRR
使用十六進(jìn)制標(biāo)示法會(huì)讓顏色的提取操作變?nèi)菀?。如果RGB是由Point方法返回的值,那么下面就是這個(gè)提取操作如何進(jìn)行的細(xì)節(jié):
red = rgb Mod &H100
green = (rgb \ &H100) Mod &H100
blue = (rgb \ &H10000) Mod &H100
在這里,最終的MouseMove事件過(guò)程顯示了出來(lái)。要看到這個(gè)過(guò)程的實(shí)際使用,就要?jiǎng)?chuàng)建一個(gè)標(biāo)準(zhǔn)的EXE項(xiàng)目,并在表單上放一個(gè)圖片框和一個(gè)文本框(Text Box)。將圖像上傳到圖片框里,然后運(yùn)行該項(xiàng)目。當(dāng)鼠標(biāo)移動(dòng)到這個(gè)圖像上的時(shí)候,文本框里就會(huì)顯示指針處像素的RGB值。
Private Sub Picture1_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Dim rgb As Long
Dim r As String, g As String, b As String
rgb = Picture1.Point(X, Y)
r = CStr(rgb Mod &H100)
g = CStr((rgb \ &H100) Mod &H100)
b = CStr((rgb \ &H10000) Mod &H100)
Text1.Text = "R " & r & ", G " & g & ", B " & b
End Sub
如果你只想看到你點(diǎn)擊到的那個(gè)像素的RGB值,你可以將相同的代碼放到MouseDown事件過(guò)程里。

