How do I check if a value is a correct color?
8 views (last 30 days)
Show older comments
Whether there is a function like
logical = isvalidcolor(value)
0 Comments
Accepted Answer
Image Analyst
on 16 Jul 2014
Not that I'm aware of - there's just not that much need - though you could write one if you want.
4 Comments
Image Analyst
on 30 Jul 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;
More Answers (2)
Tommy
on 6 Dec 2015
Edited: Tommy
on 6 Dec 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 Comments
Grzegorz Lippe
on 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 :/
See Also
Categories
Find more on Graphics Object Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!