validatecolor

Подтвердите значения цвета

    Описание

    пример

    RGB = validatecolor(colors) подтверждает одно значение цвета. Если значение цвета допустимо, validatecolor возвращает эквивалентный триплет RGB для цвета. Один из критериев validatecolor проверки, или заданы один или несколько цветов. Для этого синтаксиса, задавая больше чем один цвет недопустимо, и производит ошибку.

    пример

    RGB = validatecolor(colors,sz) подтверждает один или несколько цветов. Задайте sz как 'one' подтверждать один цвет. Задайте 'multiple' подтверждать несколько цветов.

    Примеры

    свернуть все

    Подтвердите 8-битное значение цвета без знака.

    RGB = validatecolor(uint8([128 0 255]))
    RGB = 1×3
    
        0.5020         0    1.0000
    
    

    Создайте матрицу 2 на 3, содержащую 16-битные значения без знака для двух цветов. Затем подтвердите цвета.

    c = uint16([32768 0 65535; 0 65535 0]);
    RGB = validatecolor(c,'multiple')
    RGB = 2×3
    
        0.5000         0    1.0000
             0    1.0000         0
    
    

    Подтвердите три названия цвета.

    RGB = validatecolor({'red','green','blue'},'multiple')
    RGB = 3×3
    
         1     0     0
         0     1     0
         0     0     1
    
    

    Подтвердите три шестнадцатеричных цветовых кода.

    RGB = validatecolor({'#8000FF','#0F0','#FF9900'},'multiple')
    RGB = 3×3
    
        0.5020         0    1.0000
             0    1.0000         0
        1.0000    0.6000         0
    
    

    Задайте функцию под названием plotlines это принимает y как массив y - координаты и linecolors как цвета для линий. Функция построила цветной график значений в y.

    В функции проверяйте валидность linecolors путем вызова validatecolor функция. Задайте 'multiple' опция, чтобы позволить пользователям задавать один или несколько цветов. Если цвета недопустимы, validatecolor отображает сообщение об ошибке. В противном случае это возвращает эквивалентный массив триплета RGB. Затем используйте размер RGB массив, чтобы определить распределение цветов среди линий.

    Сохраните функцию как plotlines.m в перезаписываемой папке.

    function plotlines(y,linecolors)
    % Plot colored lines.
    p = plot(y);
    
    % Check for valid color values
    RGB = validatecolor(linecolors,'multiple');
    
    % Use RGB array in a calculation
    ncolors = size(RGB,1);
    nlines = numel(p);
    nupdate = min(ncolors,nlines);
    for n = 1:nupdate
        p(n).Color = RGB(n,:);
    end
    

    Вызовите plotlines функционируйте, чтобы построить красный, синий, и черную линию.

    plotlines([0 1 2; 1 2 3],{'red','blue','black'})

    Теперь вызовите функцию с недопустимым значением цвета. В этом случае задайте скалярное значение вместо m-3 массива. MATLAB® отображает ошибку, возвращенную validatecolor функция.

    plotlines([0 1 2; 1 2 3],255)
    Error using validatecolor (line 50)
    Specify colors as a three-column matrix.
    
    Error in plotlines (line 6)
    RGB = validatecolor(linecolors,'multiple');

    Задайте функцию под названием plotminmax это принимает y как массив y - координаты и c в качестве дополнительного цветного аргумента. Функция построила график с пунктирными горизонтальными линиями в минимальных и максимальных значениях y. Пунктирные линии являются черными по умолчанию, но пользователь может настроить цвет с c аргумент.

    В arguments блокируйте, проверяйте валидность c с validatecolor функция. Задайте 'black' как цвет по умолчанию так, чтобы c может быть дополнительный вход. Затем график y, и отобразите горизонтальные линии в минимальных и максимальных значениях с помощью цветного c.

    Сохраните функцию как plotminmax.m в перезаписываемой папке.

    function plotminmax(y,c)
    % Plot lines with horizontal lines indicating min/max of y.
    arguments
        y {mustBeNumeric, mustBeNonempty}  
        c {validatecolor} = 'black'
    end
    
    plot(y)
    
    % Add min and max lines
    ymin = min(y,[],'all');
    ymax = max(y, [],'all');
    yline(ymin,'--','Color',c)
    yline(ymax,'--','Color',c)
    end

    Вызовите plotminmax функция с шестнадцатеричным цветовым кодом для красного. Графики функций координаты и отображения горизонтальные линии с заданным цветом.

    plotminmax([8.4 2.5 7 3 9.2],'#FF0000')

    Вызовите функцию с недопустимым значением цвета. В этом случае задайте недопустимое название цвета. MATLAB отображает ошибку, возвращенную validatecolor функция.

    plotminmax([8.4 2.5 7 3 9.2],'chartreuse')
    Error using plotminmax
    Invalid argument at position 2. 'chartreuse' is not a valid 
    color specification. Valid names include: 'red', 'green', 
    'blue', 'cyan', 'magenta', 'yellow', 'black', and 'white'.
    Valid hexadecimal color codes consist of '#' followed by three 
    or six hexadecimal digits.

    Входные параметры

    свернуть все

    Значения цвета, чтобы подтвердить в виде одного из следующего:

    • 1 3 вектор из single или double значения в области значений [0,1], где значения соответствуют интенсивности красных, зеленых, и синих компонентов цвета, соответственно.

    • 1 3 вектор из беззнакового целого, где целые числа соответствуют интенсивности красных, зеленых, и синих компонентов цвета, соответственно.

    • матрица m-3 single или double значения или беззнаковое целое, где каждая строка в матрице содержит интенсивность красных, зеленых, и синих компонентов цвета.

    • Вектор символов, который задает название цвета, такое как 'red', или шестнадцатеричный цветовой код, такой как '#F92B30'.

    • 1D массив ячеек из символьных векторов или массив строк, где каждым элементом в массиве является любой название цвета, такое как 'red', или шестнадцатеричный цветовой код, такой как '#F92B30'.

    В следующей таблице перечислены допустимые названия цвета с эквивалентными триплетами RGB и шестнадцатеричными цветовыми кодами.

    Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
    'red''r'[1 0 0]'#FF0000'

    Sample of the color red

    'green''g'[0 1 0]'#00FF00'

    Sample of the color green

    'blue''b'[0 0 1]'#0000FF'

    Sample of the color blue

    'cyan' 'c'[0 1 1]'#00FFFF'

    Sample of the color cyan

    'magenta''m'[1 0 1]'#FF00FF'

    Sample of the color magenta

    'yellow''y'[1 1 0]'#FFFF00'

    Sample of the color yellow

    'black''k'[0 0 0]'#000000'

    Sample of the color black

    'white''w'[1 1 1]'#FFFFFF'

    Sample of the color white

    Пример: RGB = validatecolor(uint8([255 0 0]))

    Пример: RGB = validatecolor("#FF8800")

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    Опция размера в виде одной из следующих опций:

    • 'one' — Примите одно значение цвета только. Возвратите ошибку в противном случае.

    • 'multiple' — Примите одно или несколько значений цвета.

    Пример: RGB = validatecolor(["red" "green"],'multiple')

    Выходные аргументы

    свернуть все

    Эквивалентные значения RGB, возвращенные как один триплет RGB или несколько триплетов RGB в m-3 матрице. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность находится в области значений [0,1]. Например, [1 0 0] является красным, и [0.5 0.5 0.5] серый полутон.

    Смотрите также

    |

    Введенный в R2020b