如何读取 Picture 内任何一点的颜色值? 前言: Visual Basic 对于定义色彩有二种方法: 1、使用定义的常数: 如色彩属性的设定为红色,可以常数 vbRed 表示 2、直接使用色彩设定: 以十六进位数来指定色彩,方式为: &HBBGGRR& BB是指定蓝色的部分,GG是指绿色,RR则为指定红色。 每个部分都是两位从 00 到 FF 的十六进位数。中间值为 80。 因此,以下的数值将指定灰色,它属于三种色彩的中间部分:&H808080& 上述二种色彩表示方式对应如下: 色彩常数 值 中文描述 英文描述 色块样板 vbRed &H0000FF& 红色 Red vbGreen &H00FF00& 绿色 Green vbBlue &HFF0000& 蓝色 Blue vbBlack &H000000& 黑色 Black   vbYellow &H00FFFF& 黄色 (红+绿) Yellow vbMagenta &HFF00FF& 洋红色 (红+蓝) Magenta Cyan &HFFFF00& 青绿色 (绿+蓝) Cyan vbWhite &HFFFFFF& 白色 White 上述第 2 种方法,可以衍生出『若知道一值,则如何反算其红、绿、蓝颜色值各为何?』的问题。其计算方法则是反其道而行,计算顺序为首先计算蓝色值、其次为绿色值、最后为红色值。写成模块如下: Private Sub ReturnRGB(ByVal lngColor As Long, intRed As Integer, intGreen As Integer, intBlue As Integer) intRed = lngColor Mod 256 intGreen = (lngColor \ 256) Mod 256 intBlue = lngColor \ 256 \ 256