程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB從圖片框控件取得顏色

VB從圖片框控件取得顏色

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

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事件過程裡。

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved