1. 程式人生 > >MATLAB如何採用0~1的RGB值設定字型顏色?

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級色彩。

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

Your comments and suggestions are welcome!