说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何读取 Picture 内任何一点的颜色值?

HTML文档下载 WORD文档下载 PDF文档下载
VB如何读取 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
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘