MATLAB如何采用0~1的RGB值設置字體顏色?


Problem:

在MATLAB中,如何采用0~1的RGB值設置字體顏色?

目前做一個GUI,遇到動態改變字體顏色的這點需求,而且變為自己想要的顏色

這樣會帶來兩個小問題:

  • 不能采用預設顏色值的方式實現;
  • 不用MATLAB提供的可采用字母設置的8種顏色值,通過MATLAB自帶的選色器或者專門的取色器確定了自己想要顯示的顏色后,但是此時的RGB值時0~255間,無法直接在代碼中設置。

Solution:

選擇自己欲顯示的顏色,得到0~255間的RGB值,進行歸一化即可:[R, G, B]/256

eg:

    set(handles.text1, 'foregroundColor', [187 25 34]/256);

Theory:

0~1與0~255只是表示方式不同,在計算機內部是等價的。
0~255間只能取整數,共有256級色彩;
0~1間只能取某些特定值(比如:RGB中的某個值取0.32或者0.36,顯示出來的顏色可能是一樣的),同樣256級色彩。

Reference: MATLAB中文論壇


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com