十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
函数原型 Function RGB(Red As Integer, Green As Integer, Blue As Integer) As Long
成都创新互联是一家专业提供泉港企业网站建设,专注与网站制作、成都网站建设、html5、小程序制作等业务。10年已为泉港众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
Red 为红色颜色值
Green 为绿色颜色值
Blue为红色颜色值.范围均为0~255
三者均为0 是为纯黑色
三者均为255时为纯白色
Eg:将窗体背景设置为红色
Private Sub Form_Load()
Me.BackColor = RGB(255, 0, 0)
End Sub
Dim c As Color = Color.FromArgb(0, R, G, B)
RGB对应你那3个变量(图片模糊根本看不清楚你写的变量是什么)
然后你错误的那3句后面换成这个c即可。
楼上说的很详细,我想给补充一下(最佳答案别选我)。电脑屏幕上看到的任何颜色和图案,其每一个像素,都是由3个颜色构成:红色、绿色、蓝色。如果像素太小你看不清,可去看看电视机屏幕,也是一样的。所以3个基本颜色(红-R,绿-G,蓝-B)不同的亮度组合,就组成了不同的颜色,拿24位真彩色来说,屏幕上每一个像素由红绿蓝各1字节(各8位)组成,每个颜色的取值范围为0~255,因此显示白色为-(255R+255G+255B)、灰色(127R+127G+127B)、黑色(0R+0G+0B)、紫色(255R+0G+255B)、黄色(255R+255G+0B)、青色(0R+255G+255B)等等。在VB里编程所用的色彩也是24位,一般用H00BBGGRR来表示,其中BB、GG、RR均为2位16进制,取值范围为00-FF(分别代表十进制的0~255),当然这种16进制的方式有时候可读性太好,因此有了RGB()这个函数,函数内的3个参数为十进制,函数返回的就是H00BBGGRR的十进制形式,对于VB处理来说,两者都是一样的。
如果RBG()非要以16进制的方式输入参数,则需要在每个参数前面加上"H"以触发VB的强制类型转换功能,强制转换为10进制,这就是你给的那句程序里"H"的意思。
对于那句话里Right()、Left()函数,就是起到了分别从dc对象里697x~421y坐标上取得颜色值(十进制)强制转换为16进制格式(H00BBGGRR格式)后,分别取出R、G、B的数值的作用。
整句程序看起来,其作用就是取出一个像素的RGB值,分解成R、G、B以后又重新组合成一个RGB值,可前后却是一样的、没有变化。因此可以简写成:"H" Right(Hex(GetPixel(dc, 697, 421)),6) 的,或者,直接使用 GetPixel(dc,697,421) 我看也没什么不妥。
RGB函数
描述:返回代表 RGB 颜色值的整数。
部分描述:red 必选。0 到 255 间的整数,代表颜色中的红色成分。
green 必选。0 到 255 间的整数,代表颜色中的绿色成分。
blue 必选。0 到 255 间的整数,代表颜色中的蓝色成分。
说明:
接受颜色说明的应用程序方法和属性,要求该说明以整数代表 RGB 颜色值。RGB 颜色值指定了红色、绿色、蓝色的相对强度,三色组合形成显示的特定颜色。
低字节值表示红色,中字节值表示绿色,高字节值表示蓝色。
对于要求反转字节顺序的应用程序,下面函数在反转字节顺序下提供相同信息:
Function RevRGB(red, green, blue)
RevRGB= CLng(blue + (green * 256) + (red * 65536))
End Function
RGB 函数中任一超过 255 的参数都假定为 255。
在js网页脚本中的写法:
function jsRGB(b,g,r){
return r*65536+g*256+b ;
}