How do I check if a value is a correct color?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ivan
le 16 Juil 2014
Réponse apportée : Paul Wintz
le 20 Août 2021
Whether there is a function like
logical = isvalidcolor(value)
0 commentaires
Réponse acceptée
Image Analyst
le 16 Juil 2014
Not that I'm aware of - there's just not that much need - though you could write one if you want.
4 commentaires
Image Analyst
le 30 Juil 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;
Plus de réponses (2)
Tommy
le 6 Déc 2015
Modifié(e) : Tommy
le 6 Déc 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 commentaires
Grzegorz Lippe
le 26 Avr 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 :/
Voir également
Catégories
En savoir plus sur Graphics Object Programming dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!