# How do I check if a value is a correct color?

4 visualizzazioni (ultimi 30 giorni)
Ivan il 16 Lug 2014
Risposto: Paul Wintz il 20 Ago 2021
Whether there is a function like
logical = isvalidcolor(value)
to check if some value may be used like a color (one of values specified in ColorSpec e.g.)
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Image Analyst il 16 Lug 2014
Not that I'm aware of - there's just not that much need - though you could write one if you want.
##### 4 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Ivan il 30 Lug 2014
It's a good question! I havn't known about announcing an error by uicontrol or some else.
Image Analyst il 30 Lug 2014
You could do something like
message = sprintf('%s is an invalid color. Please use r, g, b, y, m, c, k, or w', theirColor);
uiwait(warndlg(message));
return;

Accedi per commentare.

### Più risposte (2)

Tommy il 6 Dic 2015
Modificato: Tommy il 6 Dic 2015
Once I needed this function to suppress error messages, by setting wrong color values to MATLAB default. I used:
function logical_out = iscolor( color )
color = lower(color);
logical_out=(isnumeric(color) && (sum(size(color)==[1 3])==2 || ...
sum(size(color)==[3 1])==2) && sum((color<=[1 1 1] & ...
color>=[0 0 0]))==3) || sum(strcmpi({'y','m','c','r','g','b','w','k',...
'yellow','magenta','cyan','red','green','blue','white','black'},color))>0;
end
Hope this helps.
##### 6 CommentiMostra 4 commenti meno recentiNascondi 4 commenti meno recenti
Grzegorz Lippe il 26 Apr 2021
Well that helps until that point somebody specifies the color as hexadecimal value or integer from 0 ...255. Hope mathworks creates a validate color function :/
Paul Wintz il 20 Ago 2021
Matlab 2020b has a validatecolor function.

Accedi per commentare.

Paul Wintz il 20 Ago 2021
In Matlab 2020b and later, use the validatecolor function.
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Entering Commands in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by