查看: 11  |  回复: 0
  VB6 颜色转换问题,VB6和网页颜色互转,子程序 f_changeRRGGBB
楼主
发表于 2025年3月9日 00:44

VB 里颜色值的存储格式是 BGR(蓝 - 绿 - 红),并非通常的 RGB(红 - 绿 - 蓝)。

Private Function f_changeRRGGBB(ByVal strColorOld As String, Optional strSymbol As String = "&H") As String
    'RRGGBB 变成 BBGGRR
    Dim r$, g$, b$
    
    strColorOld = Right("000000" & strColorOld, 6) '补足六位

    If Left(strColorOld, 1) = "#" Then strColorOld = Mid(strColorOld, 2)    ' 去除可能存在的 # 符号
    If UCase(Left(strColorOld, 2)) = "&H" Then strColorOld = Mid(strColorOld, 3)    ' 去除可能存在的 &H 符号
    
    r = Mid(strColorOld, 1, 2)    ' 提取红、绿、蓝分量
    g = Mid(strColorOld, 3, 2)
    b = Mid(strColorOld, 5, 2)

    f_changeRRGGBB = strSymbol & b & g & r
End Function

Private Sub Command1_Click()
    Debug.Print f_changeRRGGBB("AABBCC")
End Sub

运行结果:

&HCCBBAA


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2025 MaNongKu.com