JMP 數據表中行的 RGB 顏色我正在開發一個可以由 jsl JMP 腳本調用的 C# 應用程序。JMP 腳本是 JMP 數據表中的表腳本。我試圖弄清楚如何從 JMP 數據表中的一行獲取 RGB 顏色值。基本上,如果用戶對 JMP 中的行進行顏色編碼,我的 C# 應用程序需要知道每一行的 RGB 顏色值,JSL 編程是否有辦法獲取 JMP 表中一行的 RGB 顏色值?
謝謝!
克里斯
回复:JMP 數據表中行的 RGB 顏色只是想我會添加一個關於值為 0.0-1.0 的註釋。 這稱為標準化色彩空間。 通常我們會想到 0 到 255 範圍內的顏色值,但這意味著 8 位顏色空間,其中 8 位用於表示紅色、綠色和藍色顏色分量中的每一個。 但並非所有顏色空間都是 8 位。 一些顏色空間和一些圖像格式實際上支持每個顏色分量超過 8 位,例如 16。 這就是歸一化色彩空間有用的原因。 使用多少位並不重要。 您可以簡單地將歸一化值乘以基於顏色空間的適當值(8 位為 255,16 位為 65535)。 此外,在圖形或圖像分析中,您經常需要進行大量數學運算。 對於整數值,每個操作都會產生一些舍入誤差。 使用歸一化色彩空間不會產生錯誤。 希望這有助於解釋為什麼您可能想要在標準化色彩空間中工作以及為什麼 JMP 將值返回為 0.0-1.0。
回复:JMP 數據表中行的 RGB 顏色我確認傑夫解決方案有效!
Names Default To Here( 1 );
dt=current datatable();
dt<< Color By Column( :COL);
it=Color To RGB( Color Of( Row State( 1 ) ) );
show(it);
它 = {0.164705882352941, 0.247058823529412, 1};
您只需將 3 個數字乘以 255 即可獲得 RGB 顏色值。
這個論壇太棒了! 感謝您的快速回复!
回复:JMP 數據表中行的 RGB 顏色這是我跑的:
Names Default To Here( 1 );
dt=current datatable(); \
dt<< Color By Column( :COL);
it=Color To RGB( Color Of( Row State( 3 ) ) );
show(it);
它= {0.988235294117647,0.0431372549019608,0.0431372549019608};
我期待 3 個整數,所以我是否將這些乘以 255 並對每個數字進行四捨五入?
回复:JMP 數據表中行的 RGB 顏色顏色和其他信息存儲在行狀態. 查看()的顏色功能。
這是腳本索引中的一個示例:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" ) << Color By Column( :height );
Color To RGB( Color Of( Row State( 3 ) ) );
回复:JMP 數據表中行的 RGB 顏色https://community.jmp.com/t5/JMP-Scripts/RGB-Color-Matching-Script/ta-p/21784/jump-to/first-unread-message
您可以使用這篇文章中的腳本將顏色值轉換為顏色。 希望這可以幫助 。
回复:JMP 數據表中行的 RGB 顏色@ChrisM_X ,
RowStates = dt << Get Row States() ;
ColorList = list() ;
for( i = 1 , i <= N Items(RowStates), i ++,
Insert Into(ColorList ,Color Of(RowStates[i]);
)