2012-01-06 50 views
0

我已經設置RGB的值如何將16色值轉換爲32色值?

private static final int sixteen_Colour [][] = { 
    { 237,237,237 }, 
    { 203,0,0 }, 
    { 240,56,0 }, 
    { 255,63,0 }, 
    { 255,115,0 }, 
    { 255,9,0 }, 
    { 255,290,0 }, 
    { 255,248,193 }, 
    { 255,255,255 }, 
    { 179,241,255 }, 
    { 83,209,255 }, 
    { 26,163,255 }, 
    { 0,121,123 }, 
    { 5,48,245 }, 
    { 54,5,191 }, 
    { 26,0,125 } 

}; 

如果必須將它們轉換成說32個顏色值,即我使用的一種方法是採用兩個組的平均,說{237237237},{203,0,0 }會導致{220,119,119}這是一個合適的方法嗎?

+0

是的平均2值是一個很好的做法。 – Axis 2012-01-06 06:40:42

回答

1

你想完成什麼?你的方法將起作用。它基本上是現有值之間的線性插值。但是否會給你帶來好的結果取決於你想要做什麼。

將HSV(色調,飽和度,顏色空間值爲&)轉換爲感知空間,然後在該空間進行插值,然後再轉換回RGB,可能會更好。 RGB內插傾向於灰色,而在感知空間中,它們傾向於給我們所謂的「中間」顏色。

相關問題