久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2023信創(chuàng)獨角獸企業(yè)100強
全世界各行各業(yè)聯合起來,internet一定要實現!

VB從圖片框控件取得顏色

2004-02-21 eNet&Ciweek

  Point方法返回圖片框控件里指定X,Y坐標處的顏色。要獲得鼠標指針所在位置的顏色,就要將這樣的代碼放入用戶該控件的MouseMove事件過程里。MouseMove過程會被傳遞給指針的當前X,Y坐標,這就讓這段代碼變容易了:

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方法所返回的值是一個Long類型,它會給用于顏色的RGB值編碼。為了能夠被有效地使用,這個被編碼的值必須被分成獨立的R、G、B組件,它們每個都十進制0-255或者十六進制00-FF范圍內的的一個整數。如果使用十六進制表示的話,那么Point返回的值就是:

00BBGGRR

使用十六進制標示法會讓顏色的提取操作變容易。如果RGB是由Point方法返回的值,那么下面就是這個提取操作如何進行的細節(jié):

red = rgb Mod &H100
green = (rgb \ &H100) Mod &H100
blue = (rgb \ &H10000) Mod &H100

在這里,最終的MouseMove事件過程顯示了出來。要看到這個過程的實際使用,就要創(chuàng)建一個標準的EXE項目,并在表單上放一個圖片框和一個文本框(Text Box)。將圖像上傳到圖片框里,然后運行該項目。當鼠標移動到這個圖像上的時候,文本框里就會顯示指針處像素的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

如果你只想看到你點擊到的那個像素的RGB值,你可以將相同的代碼放到MouseDown事件過程里。

相關頻道: eNews

您對本文或本站有任何意見,請在下方提交,謝謝!

投稿信箱:tougao@enet16.com