2013-04-08 51 views
0

這是我們使用將RGB轉換爲相應的CMY格式下式:RGB到CMY用C++顏色模型

C = 1 - (R/255) 
M = 1 - (G/255) 
Y = 1 - (B/255) 

我試圖應用該公式的原始的RGB值後顯示CMY圖像圖像,但我得到的結果值在0和1之間。我不認爲這個範圍可以用來顯示圖像。

如何將CMY值存儲爲數組,以便它們可用於顯示圖像? 我是否必須將0-1的範圍縮放到0-255?

如果非要規模那麼,爲什麼用這個公式,我可以直接使用:

C = 255 - R 
M = 255 - G 
Y = 255 - B 
+0

製作一個數組並將其中的值? – 2013-04-08 05:44:07

+0

你是什麼意思,通過存儲在數組中?如何在代碼中存儲RGB值? – nommyravian 2013-04-08 05:45:06

+0

另外,使用整數不會讓你的值在'0'和'1'之間。它會給你_either_'0'或'1'。 – 2013-04-08 05:48:07

回答

1
#include <iostream> 

using namespace std; 

int main() { 
    float C = 1.0f - (R/255.0f); 
    float M = 1.0f - (G/255.0f); 
    float Y = 1.0f - (B/255.0f); 

    float cmyArray[3] = {C, M, Y}; 
    return 0; 
} 

此代碼將所述CMY變量存儲爲floating points,然後創建陣列3 floating points在被推動,在這種情況下,它開始與值CM,並已初始化Y進入陣列。