主要内容

hex2rgb

将十六进制颜色代码转换为 RGB 三元组

自 R2024a 起

    说明

    RGB = hex2rgb(hexStr) 将指定的十六进制颜色代码转换为 RGB 三元组。将 hexStr 指定为包含十六进制颜色代码的字符串数组或字符向量元胞数组。每个十六进制颜色代码必须以井号 (#) 开头,后跟三个或六个十六进制数字。该函数以 m×3 矩阵或 m×n×3 数组(其中包含在 [0, 1] 范围内的 double 值)形式返回 RGB

    示例

    RGB = hex2rgb(hexStr,OutputType=datatype) 指定 RGB 三元组的数据类型。有效值包括 "double""single""uint8""uint16"。例如,hex2rgb("#FF0000",OutputType="uint8") 返回无符号值 [255 0 0]

    示例

    示例

    全部折叠

    创建一个包含十六进制颜色代码的字符串标量。然后将其转换为 RGB 三元组。

    hexStr = "#CD00EF";
    hex2rgb(hexStr)
    ans = 1×3
    
        0.8039         0    0.9373
    
    

    现在将相同的十六进制颜色代码转换为无符号 16 位 RGB 值。

    hex2rgb(hexStr,OutputType="uint16")
    ans = 1×3 uint16 row vector
    
       52685       0   61423
    
    

    hex2rgb 也接受简写十六进制颜色代码。例如,将纯红色的简写值转换为 RGB 三元组。

    hexStr = "#F00";
    hex2rgb(hexStr)
    ans = 1×3
    
         1     0     0
    
    

    创建一个包含六个十六进制颜色代码的字符串向量,并将其值转换为 RGB 三元组。结果是一个 6×3 矩阵,其中每行 (RGB(i,:)) 包含颜色 hexStr(i) 的红、绿、蓝强度。

    hexStr = ["#0072BD" "#D95319" "#EDB120" "#7E2F8E" "#77AC30" "#4DBEEE"];
    RGB = hex2rgb(hexStr)
    RGB = 6×3
    
             0    0.4471    0.7412
        0.8510    0.3255    0.0980
        0.9294    0.6941    0.1255
        0.4941    0.1843    0.5569
        0.4667    0.6745    0.1882
        0.3020    0.7451    0.9333
    
    

    创建一个由十六进制颜色代码组成的 2×2 字符串数组,并将其转换为 RGB 三元组。结果是一个 2×2×3 数组,其中 RGB(:,:,1) 包含所有四种颜色的红色分量,RGB(:,:,2) 包含绿色分量,RGB(:,:,3) 包含蓝色分量。

    hexStr = ["#0072BD" "#D95319"; "#EDB120" "#7E2F8E"];
    RGB = hex2rgb(hexStr)
    RGB = 
    RGB(:,:,1) =
    
             0    0.8510
        0.9294    0.4941
    
    
    RGB(:,:,2) =
    
        0.4471    0.3255
        0.6941    0.1843
    
    
    RGB(:,:,3) =
    
        0.7412    0.0980
        0.1255    0.5569
    
    

    输入参数

    全部折叠

    十六进制颜色代码,指定为字符串标量、字符串数组、字符向量或字符向量元胞数组。指定 hexStr 的每个元素以井号 (#) 开头,后跟三个或六个十六进制数字(范围从 0F)。

    十六进制数字按红、绿、蓝分量描述颜色。对于三位代码,每个位分别对应红、绿、蓝分量。对于六位代码,前两位对应红色分量,中间两位对应绿色分量,后两位对应蓝色分量。

    示例: RGB = hex2rgb("#00F") 返回 RGB 三元组 [0 0 1]

    示例: RGB = hex2rgb(["#0000FF"; "#994DCC"]) 返回 2×3 矩阵 [0 0 1; 0.6 0.3 0.8]

    示例: RGB = hex2rgb(["#0000FF" "#994DCC"; "#FFFF00" "#ABC123"]) 返回 2×2×3 图像数组。

    输出的数据类型,指定为以下值之一:

    • "double""single" - 在 [0, 1] 范围内的双精度或单精度值。值 0 对应无色,值 1 对应该分量(红、绿或蓝)的全强度颜色。

    • "uint8" - 在 [0, 255] 范围内的无符号 8 位值。值 0 对应无色,值 255 对应该分量的全强度颜色。

    • "uint16" - 在 [0, 65535] 范围内的无符号 16 位值。值 0 对应无色,值 65535 对应该分量的全强度颜色。

    示例: RGB = hex2rgb("#FF0000",OutputType="uint8") 返回无符号 8 位 RGB 值 [255 0 0]

    输出参量

    全部折叠

    RGB 三元组,以三元素行向量、m×3 矩阵或 m×n×3 数组形式返回,具体取决于 hexStr 的大小。

    • 如果 hexStr 是字符串标量或字符向量,则 RGB 是三元素行向量。

    • 如果 hexStrm×1,则 RGBm×3。

    • 如果 hexStrm×n,则 RGBm×n×3,其中沿第三个维度的页分别对应颜色红、绿、蓝分量。

    版本历史记录

    在 R2024a 中推出