主要内容

rgb2hex

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

自 R2024a 起

    说明

    hexStr = rgb2hex(RGB) 将指定的 RGB 三元组转换为包含六位十六进制颜色代码的字符串。要转换 m 个 RGB 三元组,请将 RGB 指定为 m×3 矩阵。要转换一个 m×n 图像,请将 RGB 指定为 m×n×3 数组。hexStr 中返回的每个值都以井号 (#) 开头,后跟六个十六进制数字。

    示例

    hexStr = rgb2hex(RGB,Shorthand=tf) 指定是否以简写形式返回十六进制颜色代码。默认情况下,输出包含六位代码。简写值仅包含三个十六进制数字(每个颜色分量对应一个数字)。因此,这些值可能不如六位表示法准确。

    示例

    示例

    全部折叠

    创建一个 RGB 三元组并将其转换为十六进制颜色代码。

    RGB = [0.60 0.30 0.80];
    rgb2hex(RGB)
    ans = 
    "#994DCC"
    

    将等效的 uint8 RGB 三元组转换为十六进制颜色代码。

    RGB = uint8([153 77 204]);
    rgb2hex(RGB)
    ans = 
    "#994DCC"
    

    现在计算此颜色的简写十六进制颜色代码。

    rgb2hex(RGB,Shorthand=true)
    ans = 
    "#95C"
    

    创建一个 6×3 RGB 三元组矩阵,并将其值转换为十六进制颜色代码。矩阵的每行对应一种不同颜色。

    RGB = [1 0 0
        1 1 0
        1 1 1
        0 1 1
        0 0 1
        0 0 0];
    rgb2hex(RGB)
    ans = 6×1 string
        "#FF0000"
        "#FFFF00"
        "#FFFFFF"
        "#00FFFF"
        "#0000FF"
        "#000000"
    
    

    peppers.png 读入变量 img 中。此图像的大小为 384×512×3,其中第三个维度包含每个像素的红色、绿色和蓝色强度。

    img = imread("peppers.png");
    size(img)
    ans = 1×3
    
       384   512     3
    
    

    将图像转换为十六进制颜色代码。hexStr 以字符串数组形式返回,该数组的行数和列数与图像相同。

    hexStr = rgb2hex(img);
    whos hexStr
      Name          Size                Bytes  Class     Attributes
    
      hexStr      384x512            10616944  string              
    

    输入参数

    全部折叠

    RGB 值,指定为 m×3 矩阵(适用于 m 种颜色)或 m×n×3 数组(适用于 m×n 图像)。RGB 值可以具有以下四种数据类型之一:

    • 范围 [0, 1] 内的 doublesingle

    • 范围 [0, 255] 内的 uint8

    • 范围 [0, 65535] 内的 uint16

    示例: hexStr = rgb2hex([1 0 0]) 返回纯红色的十六进制值 "#FF0000"

    示例: hexStr = rgb2hex(uint8([255 255 0])) 返回黄色的十六进制值 "#FFFF00"

    示例: hexStr = rgb2hex(imread("peppers.png")) 返回图像 peppers.png 的十六进制值。

    数据类型: single | double | uint8 | uint16

    以简写形式返回输出,指定为数值或逻辑值 1 (true) 或 0 (false)。

    tf1true 时,rgb2hex 以简写形式返回十六进制颜色代码。否则,输出包含六位代码。

    简写值仅包含三个十六进制数字(每个颜色分量对应一个数字)。因此,这些值可能不如六位表示法准确。

    示例: hexStr = rgb2hex([1 0 0],Shorthand=false) 返回 "#FF0000"

    示例: hexStr = rgb2hex([1 0 0],Shorthand=true) 返回 "#F00"

    示例: hexStr = rgb2hex([0.1 0.3 0.9],Shorthand=0) 返回 "#1A4DE6"

    示例: hexStr = rgb2hex([0.1 0.3 0.9],Shorthand=1) 返回 "#25E"

    输出参量

    全部折叠

    十六进制颜色代码,以字符串标量、字符串向量或字符串数组形式返回,具体取决于 RGB 数据的形状。

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

    • 如果 RGB 是一个 m×3 RGB 三元组矩阵,则 hexStrm×1 字符串向量。

    • 如果 RGB 是一个 m×n×3 图像,则 hexStrm×n 字符串数组。

    hexStr 的每个元素以井号 (#) 开头,后跟三个或六个 0F 范围内的十六进制数字。

    在六位十六进制颜色代码中,每个颜色分量包含两对数字。第一对数字对应红色分量,第二对对应绿色分量,第三对对应蓝色分量。在三位简写形式的值中,每个颜色分量仅包含一个数字。

    版本历史记录

    在 R2024a 中推出