How do I check if a value is a correct color?
조회 수: 8 (최근 30일)
이전 댓글 표시
Whether there is a function like
logical = isvalidcolor(value)
댓글 수: 0
채택된 답변
Image Analyst
2014년 7월 16일
Not that I'm aware of - there's just not that much need - though you could write one if you want.
댓글 수: 4
Image Analyst
2014년 7월 30일
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;
추가 답변 (2개)
Tommy
2015년 12월 6일
편집: Tommy
2015년 12월 6일
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
Grzegorz Lippe
2021년 4월 26일
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 :/
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!