VB从图片框控件取得颜色

2016-02-19 16:33 85 1 收藏

今天图老师小编要跟大家分享VB从图片框控件取得颜色,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - 编程语言 】

Point方法返回图片框控件里指定X,Y坐标处的颜色。要获得鼠标指针所在位置的颜色,就要将这样的代码放入用户该控件的MouseMove事件过程里。MouseMove过程会被传递给指针的当前X,Y坐标,这就让这段代码变容易了:

PrivateSubPicture1_MouseMove(ButtonAsInteger,_
  ShiftAsInteger,XAsSingle,YAsSingle)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

DimrgbAsLong

rgb=Picture1.Point(X,Y)

EndSub

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

如果你只想看到你点击到的那个像素的RGB值,你可以将相同的代码放到MouseDown事件过程里。

->

来源:http://www.tulaoshi.com/n/20160219/1612421.html

延伸阅读
 Private Sub filllistboxwithcolors()         Me.ListBox1.DrawMode = DrawMode.OwnerDrawFixed         Me.ListBox1.ItemHeight = 24         '避免闪烁       &nbs...
   本文代码执行效果:   大家对Word一定非常熟悉吧,它里面的东东可真不少,不管是活泼可爱的“大眼夹”,还是各种平面造型的Windows控件我都很喜欢。那么这次就让我们来做个非常常用的控件:“颜色组合框”。如果你现在正在做关于字处理类的软件时我想这个东东一定对你有用,哈哈!还是废话少说,让我们转入正题! ...
制作程序时,被Windows的界面色彩弄得头昏眼花,设计时是一种颜色,色彩搭配得挺好的,可是到了用户手里字体却看不清楚,严重影响了程序效果,所以结合操作系统调配颜色将是令用户用得开心的不可多得的步骤: 下面列出了操作系统界面各部位的名称,要取得系统颜色,把参数换一下就可以了。 COLOR_SCROLLBAR 滚动条 CO...
在Winuser.h中定义了一些系统常用的资源,比如对话框的图标,某些按钮上的图像等。 以下是部分OEM资源序号和一些标准ICON的ID: //--------------------------------------------------------------------------- // OEM Resource Ordinal Numbers #define OBM_OLD_CLOSE  32767 #define OBM_SIZE 32766 #...
有时窗体变化后,如改变分辨率后控件大小却不能随之改变。手工代码调整实在麻烦,下面的模块实现自动查找窗体上控件并使其改变大小以适应窗体变化。 在Form的Resize事件中调用函数Resize_All就能实现控件自动调整大小,如: Private Sub Form_Resize() Dim H, i As Integer On Error Resume Next Resize_ALL Me...

经验教程

271

收藏

66
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部