WEB开发网
开发学院WEB开发综合 VB从图片框控件取得颜色 阅读

VB从图片框控件取得颜色

 2006-02-27 11:53:21 来源:WEB开发网   
核心提示:Point方法返回图片框控件里指定X,Y坐标处的颜色,要获得鼠标指针所在位置的颜色,VB从图片框控件取得颜色,就要将这样的代码放入用户该控件的MouseMove事件过程里,MouseMove过程会被传递给指针的当前X,Y坐标,文本框里就会显示指针处像素的RGB值,PrivateSubPicture1_MouseMove
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事件过程里。

->

Tags:VB 图片 控件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接